我们正在开发一个运行在mule-enterprise-3.3.2上的应用程序。为了配置和调整目的,我们在Spring上下文(Spring 3.1)使用以下行管理的.properties文件中放置了许多参数:
<context:property-placeholder location="classpath:my-config.properties" />
如何在不重启服务器的情况下自动重新加载更改属性?
有什么建议吗?
(注意:我不确定,如果mule一般可以在运行时处理参数的更改。)
答案 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