0

メッセージのペイロードから抽出し、Outbound プロパティに設定するプロパティがあります (アクセスしやすくするため)。このプロパティのサイズを簡単に確認したいのですが、最善の推測では例外が発生します。

#[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"/>

HTH

于 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 に答える