【问题标题】:Configuration file changes at runtime for a standalone app?独立应用程序在运行时更改配置文件?
【发布时间】:2011-05-23 08:58:11
【问题描述】:
假设我有一个 Swing/Spring 独立应用程序。我想知道 Spring 是否检测到对其配置文件的运行时更改,例如这个(假设文件在类路径上):
注释第二个bean并添加第一个bean如下:
<beans>
<bean id="randonNumberGenerator" class="com.me.MyGenerator"/>
<!--
<bean id="randonNumberGenerator" class="com.someoneelse.ADifferentGenerator"/>
-->
</beans>
Spring 会按预期在运行时更改实现吗?
【问题讨论】:
标签:
spring
runtime
implementation
【解决方案1】:
我不认为 Spring 提供了一种即时重新加载配置的方法。可以通过重新实例化整个 ApplicationContext 来实现,但这意味着重新创建所有 bean 等,并且软件的内部状态可能会在此过程中飞出窗口。
【解决方案2】:
我认为您可以使用“AbstractRefreshableApplicationContext”来刷新上下文。
AbstractRefreshableApplicationContext refreshableContext = new ClassPathXmlApplicationContext ( "applicationContextRefreshable.xml" );
refreshableContext.refresh ( );
详情可以看here
【讨论】:
-
虽然理论上可以回答这个问题,但我们希望您在回答中包含链接文章的基本部分,并提供link for reference。不这样做会使答案面临链接腐烂的风险。随意将更多有用信息编辑到此答案中并标记以取消删除。