Mule Expression组件无法从属性文件

时间:2017-07-20 10:55:24

标签: mule-component

我想从属性中动态获取值,因此我实现了一个poc。在那个poc中,我已经在mule表达式组件中声明了一个具有值的对象。之后我从属性文件中获取值键。它在测试应用程序时显示异常。

Exception MSG: Root Exception stack trace: unresolvable property or identifier: $ 

EX-1:

flowVars.deptCode=21432143;
property3=${flowVars.deptCode};

EX-2:

property3=${21432143};

在上面两个例子中,ex-2工作正常,ex-1失败了。

如果有人明白这一点,请告诉我。

谢谢, 普利文

2 个答案:

答案 0 :(得分:0)

Mule正在使用Spring Properties,它可以保存在一个单独的属性文件中,然后通过$ {propertyName}在您的应用程序中检索/使用。

属性占位符用于定义保存这些属性的位置。

Ex 1是不可能的,因为属性不知道Mule应用程序内的所有变量或属性。

另一个问题是,应用程序启动时将加载这些文件。 如果更改属性的值,则需要重新启动应用程序,因此您的方法无法正常工作。

此处文档中的更多信息: https://docs.mulesoft.com/mule-user-guide/v/3.8/configuring-properties

答案 1 :(得分:0)

您可以使用dataweave脚本动态读取属性文件中的值

#[dw("p(flowVars.deptCode)")]