2

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

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

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

有什么建议么?

(注意:我不确定,如果骡子通常可以在运行时处理参数更改。)

4

2 回答 2

2

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

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

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

于 2013-07-01T17:36:09.663 回答
0

我们可以使用 Mule Spring Bean 加载 Groovy 类(通过 Global Elements 选项卡)。您已经提到 Groovy bean 必须由 Spring 加载以进行热重载。您有关于如何在 Mule 中执行此操作的示例吗?

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

您能否让我知道如何在 Mule 中使用 Spring 来热重载 Groovy bean?

谢谢,

阿南特

于 2014-03-18T11:54:57.887 回答