如何从文件属性访问 MULE_HOME 变量?

Posted

技术标签:

【中文标题】如何从文件属性访问 MULE_HOME 变量?【英文标题】:How to access to MULE_HOME variable from a file properties? 【发布时间】:2017-12-03 08:22:45 【问题描述】:

我想从文件属性中访问 MULE_HOME 变量,我已经使用了muleEnv=$MULE_HOME,但它不起作用。

【问题讨论】:

【参考方案1】:

Mule Home 可以使用 MEL 表达式访问:- #[mule.home] 在流程中 您可以将此表达式放在属性文件中,如下所示:-

muleEnv=#[mule.home]

并且可以在流程中访问:-

<logger level="INFO" message="## Mule home: $muleEnv" doc:name="Logger"/>

简单易行:)

【讨论】:

感谢您的回复,但这并不像您说的那样简单和容易,它不起作用。我想使用 mule-deploy.properties 中的 key=value 从服务器而不是应用程序访问 mule.home【参考方案2】:

服务器是什么意思?您是指 Mule Runtime 还是运行 Mule Runtime 的计算机?

您可以尝试使用 -M-Dmule.home.dir=%MULE_HOME% 来初始化您的 mule 运行时。

在这种情况下,运行时将包含 MULE_HOME 目录,您应该可以使用 $mule.home.dir

这根本不是必需的,当初始化 mule 运行时,你应该有一个属性 mule.home 与 MULE_HOME 变量的值,尝试将 $MULE_HOME 更改为 $mule.home 或 $ mule.base

这对我有用:

test.properties --> test.var.home=$mule.home

在我的流程中:

 <logger message="$test.var.home" level="INFO" doc:name="Logger"/>

【讨论】:

@7533972,我的意思是 mule 运行时,我已经用 -M-Dmule.home=%MULE_HOME% 初始化了我的 mule 运行时。 ,当我尝试通过 mule-deploy.properties 访问此属性时,他将 $MULE_HOME 视为字符串而不是属性。我不想通过记录器或其他东西访问此属性,我想通过 mule-deploy.properties 访问

以上是关于如何从文件属性访问 MULE_HOME 变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何从竹变量替换硒框架属性文件值?

如何从docker compose文件中访问env变量

如何从 C++ 源文件访问 C 源文件中的全局变量

如何从 phpunit.xml 而不是应用程序配置文件访问环境变量

如果初始属性是变量,如何访问 JSON 对象的属性的属性?

如何从正在处理的项目文件中访问 msbuild 命令行参数?