我想从属性中动态获取值,因此我实现了一个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失败了。
如果有人明白这一点,请告诉我。
谢谢, 普利文
答案 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)")]