1

我需要在mule-config.xml. 有没有办法在骡子中获取环境信息?

4

9 回答 9

2

您可以通过 MEL 访问所有系统属性。但我宁愿建议您将配置模块化到几个文件中(例如:common-config.xml、test-config.xml、prod-config.xml),并在 Mule 启动时根据环境加载正确的文件。

于 2013-01-25T20:26:19.293 回答
2

您还可以为每个环境创建属性文件并在 mule 配置文件中访问它。

于 2015-10-22T06:30:15.520 回答
0

您可以使用所有配置创建 xml 文件并将文件导入/加载到 mule 项目中

于 2015-12-03T14:45:02.593 回答
0

在您的 Mule 配置文件 (src/main/app/app-config-file.xml) 中,您可以添加以下行:

<context:property-placeholder location="${environment.name}.properties" />

${environment.name} 必须是系统环境变量。您需要确保部署应用程序的系统包含该变量。如果您使用的是 Maven(全新安装 -Denvironment.name=test),我认为您也可以在 Maven 构建中指定它。你可以试试。

要在本地进行测试,请右键单击您的项目,选择运行方式,选择运行配置,单击环境选项卡,添加变量“environment.name”和值“local”(不带引号)并确保您的 local.properties 文件存在于添加到构建路径的位置。例如,它可以是 src/main/app 或资源文件夹中。

于 2016-03-15T06:22:14.703 回答
0

MEL 有一些上下文对象,如服务器、mule、应用程序使用这些你可以从 #[server.env] 获取环境信息以获取更多信息,请参阅 https://docs.mulesoft.com/mule-user-guide/v/3.6/mule -表达式语言基本语法

于 2016-03-24T19:16:14.000 回答
0

您可以使用不同的 mule 属性文件,例如 Mule-dev.properties 、 mule-test.properties。在全局元素中添加一个属性占位符:

在 mule-app.properties 中,根据您要使用的 env 值定义 env= test 或 dev。

清理项目并部署。有时它无法读取 env 特定的属性。清理项目解决了这个问题。

于 2016-12-02T18:19:51.910 回答
0

您可以在项目中添加一个属性文件并从属性占位符中引用它。最好在 mule-app.properties 文件中添加环境值 ehich 在 /src/main/app

于 2017-01-18T09:23:10.187 回答
0

您可以在此 mule-app.properties 中拥有一个类似 mule.env 的变量,并从 cloudhub 属性将值作为 DEV、QA、UAT、PROD 发送到此属性,并在 mule/src/app 主资源中创建不同的属性文件,然后使用 Properties 占位符配置此属性文件并从 cloudhub 动态发送 mule-env 的值

于 2017-11-29T14:47:40.007 回答
0

通常这样做的方式是删除一个属性 bean,您可以在其中设置环境特定的值,如 PROD、QA、DEV 或本地。此环境特定值在 mule-app.properties 中设置,例如 mule.env=local,这需要设置为我们尝试部署它的环境,并且 API 会选择正确的属性文件。

于 2018-03-01T06:41:02.927 回答