【发布时间】:2016-05-15 16:14:05
【问题描述】:
今天,我在 mule-app.properties 文件中为每个应用程序配置了相同的属性。像这样:
所有应用(+ 5 个)都在同一个 Mule ESB 运行时 (CE) 上运行。
例如,当需要更改主机或密码时,我需要更改所有应用程序的属性文件。
我希望 Mule ESB 运行时上只有一个属性文件供所有应用共享。
有没有表格可以做这个?
谢谢!
【问题讨论】:
标签: mule esb anypoint-studio
今天,我在 mule-app.properties 文件中为每个应用程序配置了相同的属性。像这样:
所有应用(+ 5 个)都在同一个 Mule ESB 运行时 (CE) 上运行。
例如,当需要更改主机或密码时,我需要更改所有应用程序的属性文件。
我希望 Mule ESB 运行时上只有一个属性文件供所有应用共享。
有没有表格可以做这个?
谢谢!
【问题讨论】:
标签: mule esb anypoint-studio
您可以创建一个新的 Mule 项目并将其称为“共享”。现在,在这个项目中,您可以创建一个文件 src/main/resources/config.properties 并在其中放置您需要的所有设置。
要在您当前的项目中进行这些设置,只需在“Java 构建路径”的“项目”选项卡中添加项目“共享”即可。然后在你当前项目的主文件中,写
< context: property-placeholder location="config.properties" />
【讨论】:
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" />
使用 Spring 属性占位符并从文件系统中读取单个文件:
<context:property-placeholder location="file:/path/to/myConfigFile.properties" />
https://docs.mulesoft.com/mule-user-guide/v/3.6/configuring-properties#properties-files
【讨论】: