Tengo una cadena que estoy autocableando como un frijol. El valor para String
se establece mediante un archivo de propiedades y se carga en el tiempo de ejecución. Eso puedo verificar. Aquí está mi XML:¿Cómo actualizo el valor de @Autowired String bean en Spring?
<context:property-placeholder location="classpath:my-app.properties" />
<bean id="loadedProp" class="java.lang.String">
<constructor-arg>
<value>${loaded-prop}</value>
</constructor-arg>
</bean>
Y en mi solicitud, Autowire en el grano:
@Component
public class Foo {
@Autowired
private String loadedProp;
}
Todo funciona Dandy. Tengo varios componentes que se conectan automáticamente en este bean. Lo que estoy tratando de hacer es, mientras la aplicación se está ejecutando, actualizar el valor del bean para que sea algo más, de modo que en todos los lugares donde el bean esté autoconectado, use el valor más actualizado. ¿Es posible hacer esto o solo necesito reiniciar cada vez que deseo cambiar el valor?
Posible duplicado de http://stackoverflow.com/questions/2008175/apply-dynamic-properties-to-a-bean-at-runtime – beny23
Este enlace podría ayudarlo http://forum.springsource.org/archive /index.php/t-37557.html echa un vistazo a la última publicación allí –
@ beny23 Ah, gracias. Eso no apareció en mi búsqueda. – Pat