在Log4j中,有一个功能,其中可以初始化系统以进行配置并以间隔观看。这允许log4j系统在更改属性文件时重新加载其属性。 spring框架是否具有这样的Configuration Observer工具,其中Configuration在更改时重新加载。需要重新加载的配置不是Springs的applicationContext.xml,而是使用Spring初始化bean初始化的各种其他配置文件。
答案 0 :(得分:7)
我找到了一个与Log4J here类似的实用程序。它基本上是PropertyPlaceholderConfigurer的扩展,它在更改时重新加载属性。
答案 1 :(得分:3)
AFAIK Spring没有提供这样的实用程序。但是,有一个第三方工具JRebel使您可以更新整个Web应用程序(包括Spring配置),而无需重新启动服务器。
可以免费试用,购买价格相当便宜。
答案 2 :(得分:1)
我会在重新加载spring应用程序上下文时格外谨慎。
您对单身豆的期望是什么?如果一个对象有对singleton bean的引用,它应该更新吗?
答案 3 :(得分:0)
我使用JRebel进行开发,我会非常谨慎地期望它能够刷新您的配置。适用于Java,但不适用于Spring。
答案 4 :(得分:-1)
如果您想添加上下文,我已按以下方式完成:
public class ApplicationContextUtil
{
static String[] configFiles = {"applicationContextParent.xml"};
private static ApplicationContext context = null;
static
{
context = new ClassPathXmlApplicationContext ( configFiles );
}
public static void addContext( String[] newConfigFiles )
{
// add the new context to the previous context
ApplicationContext newContext = new ClassPathXmlApplicationContext ( newConfigFiles, context );
context = newContext;
}
public static ApplicationContext getApplicationContext ()
{
// return the context
return context;
}
}
这是您的上下文提供程序类。有关详细信息,请查看my blog