如何在运行时在 spring 中重新加载/刷新属性而不重新启动 jvm?
我正在寻找一些优雅的东西,它应该适用于 Prod。因此,我猜 JRebel 不在讨论范围内。
目前,我在 MYProject.properties 中有我的属性
oms.url=abbc.com
checkin.enabled=true
并且我的 java 文件被自动连接以从 applicationContext 中搜索和使用这些属性,提供了不同的属性文件:
<bean id="applicationProperties" class="myproject.config.CustomPropertyPlaceHolder">
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:MyProject.properties</value>
<value>file:${CATALINA_BASE}/lib/MyProject.properties</value>
<!--<value>file:///appl/conf/outlet.properties</value>-->
<value>classpath:db.password</value>
<value>file:${CATALINA_BASE}/lib/db.password</value>
<!-- <ref bean="applPropertiesFromDb" /> -->
</list>
</property>
</bean>
和Java文件为:
@Value("${checkin.enabled}")
private String checkinEnabled;