我有一个属性,我从Message的Payload中提取并设置为Outbound属性(以便更容易访问)。我想简单地检查一下这个属性的大小,但我最好的猜测是给了我例外。
我尝试使用#[header:OUTBOUND:count]语法,在< when>中添加了evaluateator =“header”属性。标签,似乎没有任何工作。我也尝试了其他评估器,但是我找不到任何带有语法示例的Mule文档,所以我只是猜测应该如何形成表达式。
<choice doc:name="Choice">
<when expression="message.outboundProperties['count']==0">
<processor-chain>
... something here ...
</processor-chain>
</when>
<otherwise>
<processor-chain>
... alternate option ...
</processor-chain>
</otherwise>
</choice>
答案 0 :(得分:0)
在这种情况下,我通常使用Groovy。 试试这个
<when expression="message.getProperty('count',org.mule.api.transport.PropertyScope.OUTBOUND)==0"
evaluator="groovy"/>
HTH
答案 1 :(得分:0)
假设您正在运行Mule 3.3.0并且count
是数字,那么您的语法是正确的并且应该按原样运行。
要使其成为规范,请在表达式周围添加#[]
:
<when expression="#[message.outboundProperties['count'] == 0]">
由于其名称与MVEL属性命名兼容,您甚至可以直接访问count
条目:
<when expression="#[message.outboundProperties.count == 0]">