如何从文件属性访问 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 变量?的主要内容,如果未能解决你的问题,请参考以下文章