【问题标题】:One properties configuration file for Multi Apps on Mule ESB runtimeMule ESB 运行时上的多应用程序的一个属性配置文件
【发布时间】:2016-05-15 16:14:05
【问题描述】:

今天,我在 mule-app.properties 文件中为每个应用程序配置了相同的属性。像这样:

所有应用(+ 5 个)都在同一个 Mule ESB 运行时 (CE) 上运行。

例如,当需要更改主机或密码时,我需要更改所有应用程序的属性文件。

我希望 Mule ESB 运行时上只有一个属性文件供所有应用共享。

有没有表格可以做这个?

谢谢!

【问题讨论】:

    标签: mule esb anypoint-studio


    【解决方案1】:

    您可以创建一个新的 Mule 项目并将其称为“共享”。现在,在这个项目中,您可以创建一个文件 src/main/resources/config.properties 并在其中放置您需要的所有设置。

    要在您当前的项目中进行这些设置,只需在“Java 构建路径”的“项目”选项卡中添加项目“共享”即可。然后在你当前项目的主文件中,写

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

    【讨论】:

    • 在设计时工作正常!例如,在 Studio 中测试连接时。但是在 Anypoint Studio 中运行时,出现如下错误:WARN 2016-02-08 17:00:28,088 [main] org.mule.config.spring.MuleArtifactContext: Exception encountered during context initialization - cancelling refresh attempt org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [mule-apps.properties] cannot be opened because it does not exist
    • 对不起,我忘记了类路径。试试<context: property-placeholder location="classpath:config.properties" /> 如果你得到同样的结果,那么试试一个java项目(这就是我所做的)。请记住将您的属性文件放在一个包中(例如com.company.config)并使用它来引用<context: property-placeholder location="classpath:com/company/config/config.properties" />
    • 我根据您的建议使用了 Java Project。但是现在我如何在 ESB 生产中部署这个项目“共享”? .properties 托管在服务器上的哪个路径?
    • 当您导入您的项目时,“共享”项目将附加为 .jar。您应该只更改设置以指向您的生产服务器并准备好
    【解决方案2】:

    使用 Spring 属性占位符并从文件系统中读取单个文件:

    <context:property-placeholder location="file:/path/to/myConfigFile.properties" />
    

    https://docs.mulesoft.com/mule-user-guide/v/3.6/configuring-properties#properties-files

    【讨论】:

    • 我看到了这个指南,但我并不清楚服务器上的文件本地化(路径)和文件的名称模式。
    • 更新了缺失的代码示例。还取决于您的操作系统。所以基于unix:file:/opt/mule/myConfigFile.properties
    • 明白!有没有办法使用相同的相对位置来使其同时适用于 ESB Server 和 Anypoint Studio?
    猜你喜欢
    • 2015-08-03
    • 2013-07-13
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多