在Mule MEL中,如何获得属性值?
在java代码中,我这样做了:
eventContext.getMessage().setInvocationProperty("amount", 100);
我尝试了这些选项
#[message.invocationProperty.invocation]
#[message.invocationProperty('invocation')]
#[message.getInvocationProperty().get('invocation')]
我意识到该消息是org.mule.el.context.MessageContext的一个实例,那么正确的语法是什么?
答案 0 :(得分:3)
尝试#[message.inboundProperties['propertyName']]
或#[message.invocationProperties['propertyName']]
答案 1 :(得分:3)
如果使用范围INVOCATION(使用Message Enricher或Variable)设置变量,则可以使用以下语法获取变量:
#flowVars['your_Variable_Name']
答案 2 :(得分:0)
您的评论的答案
<set-variable variableName="amount" value="message.invocationProperties['amount']" />
解决方案
<set-variable variableName="amount" value="#[message.invocationProperties['amount']]" />
答案 3 :(得分:0)
要获取消息的Invocation属性,请遵循以下语法:
#[flowVars.parameter]
或#[flowVars['paramater']]
答案 4 :(得分:0)
虽然sintaxis几乎相同,但它取决于属性变量的范围,但最常用的方法是:
#[flowVars['flow_var_name']]
在我个人看来我不建议使用:
#[flowVars.variable]
因为在一些带有许多messageContext开关的复杂环境中,变量可能会丢失。我建议您查看显示如何处理属性和变量的下一个post from Mulesoft oficial blog。