骡子3.3自动重装属性

时间:2013-07-01 14:20:05

标签: spring properties mule

我们正在开发一个运行在mule-enterprise-3.3.2上的应用程序。为了配置和调整目的,我们在Spring上下文(Spring 3.1)使用以下行管理的.properties文件中放置了许多参数:

<context:property-placeholder location="classpath:my-config.properties" />

如何在不重启服务器的情况下自动重新加载更改属性?

有什么建议吗?

(注意:我不确定,如果mule一般可以在运行时处理参数的更改。)

2 个答案:

答案 0 :(得分:2)

属性在初始化时在XML配置文件(Mule或Spring)中解析,因此您以后无法更改它们。

执行您想要做的事情的一种方法是在实现Java接口的Groovy bean中定义配置值,并使用Spring从文件系统加载它。 Spring支持热重载Groovy bean,因此属性将在运行时重新加载。

然后将此配置bean注入需要支持运行时配置更改的对象中。如果您需要以更静态的方式使用此bean中的值,请使用SpEL从XML配置中注入值。

答案 1 :(得分:0)

我们可以使用Mule Spring Bean(通过Global Elements选项卡)加载Groovy类。 您已经提到过,Spring必须加载Groovy bean以进行热重新加载。 你有一个关于如何在Mule中做到这一点的例子吗?

以下URL定义了如何在Mule中使用Spring bean,但它明确指出它在服务器启动期间发生。 http://www.mulesoft.org/documentation-3.2/display/32X/Using+Spring+Beans+as+Service+Components

你能告诉我如何在Mule中使用Spring来重新加载Groovy bean吗?

谢谢,

Ananth