2011-05-23 170 views
1

假设我有一个Swing/Spring独立应用程序。我想知道,春天是否确实检测运行时更改它的配置文件,如这一个(假设该文件是在classpath):独立应用程序在运行时配置文件更改?

在谈到第二个bean和下面添加第一个bean:

<beans> 
    <bean id="randonNumberGenerator" class="com.me.MyGenerator"/> 

    <!-- 
    <bean id="randonNumberGenerator" class="com.someoneelse.ADifferentGenerator"/> 
    --> 
</beans> 

会弹出按预期在运行时更改实施?

+0

可能重复http://stackoverflow.com/questions/461710/automatic-configuration-reinitialization-in-spring ) – MarcoS 2011-05-23 11:42:41

回答

0

我不认为Spring提供了一种方式来重新加载配置。通过重新实例化整个ApplicationContext可能是可能的,但这意味着所有的bean都将被重新创建等,并且软件的内部状态可能会在流程中飞出窗口。

0

我想你可以使用“AbstractRefreshableApplicationContext”来刷新上下文。

AbstractRefreshableApplicationContext refreshableContext = new ClassPathXmlApplicationContext ( "applicationContextRefreshable.xml"); 
refreshableContext.refresh (); 

有关详细信息,你可以看看here

[在Spring自动配置重新初始化(的
+0

虽然这可能在理论上回答这个问题,但我们希望您在回答中包含链接文章的基本部分,并提供[链接供参考](http://meta.stackexchange.com/q/8259) 。如果做不到这一点,答案就会受到链接腐败的威胁。随意编辑更多有用的信息到这个答案和国旗取消删除。 – Kev 2012-05-07 13:33:08