0

我有一个从消息的有效负载中提取并设置为出站属性的属性(以使其更易于访问)。我想简单地检查这个属性的大小,但我所有最好的猜测都给了我例外。

我尝试使用 #[header:OUTBOUND:count] 语法,将 evaluator="header" 属性添加到 <when> 标记,但似乎没有任何效果。我也尝试过其他评估器,但我找不到任何带有语法示例的 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>
4

2 回答 2

0

在这种情况下,我通常使用 Groovy。试试这个

<when expression="message.getProperty('count',org.mule.api.transport.PropertyScope.OUTBOUND)==0"
evaluator="groovy"/>

高温高压

于 2012-08-23T20:23:38.450 回答
0

假设您正在运行 Mule 3.3.0 并且它count是数字的,那么您的语法是正确的并且应该可以正常工作。

为了使其规范,#[]请在表达式周围添加:

<when expression="#[message.outboundProperties['count'] == 0]">

因为它的名称与 MVEL 属性命名兼容,您甚至可以count直接访问该条目:

<when expression="#[message.outboundProperties.count == 0]">
于 2012-08-24T15:23:56.773 回答