【问题标题】:mule 3.3 auto reload propertiesmule 3.3 自动重载属性
【发布时间】:2013-06-28 17:00:23
【问题描述】:

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

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

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

有什么建议吗?

(注意:我不确定,一般来说,mule 是否可以处理运行时的参数更改。)

【问题讨论】:

    标签: spring properties mule


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我们可以使用 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?

      谢谢,

      阿南特

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-30
        • 1970-01-01
        • 2018-04-18
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        • 2012-05-07
        • 1970-01-01
        相关资源
        最近更新 更多