Spring中的自动配置重新初始化

时间:2009-01-20 15:17:02

标签: spring

在Log4j中,有一个功能,其中可以初始化系统以进行配置并以间隔观看。这允许log4j系统在更改属性文件时重新加载其属性。 spring框架是否具有这样的Configuration Observer工具,其中Configuration在更改时重新加载。需要重新加载的配置不是Springs的applicationContext.xml,而是使用Spring初始化bean初始化的各种其他配置文件。

5 个答案:

答案 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