ラバの流れでは、入力文字列メッセージの最後の2つのパラメータを比較する必要があります
2012-04-30,2012-05-30,1,5
そして、もしparam1(1) <= param2(5)
、私は実行する必要がありますjms:outbound-endpoint
。
それを行うための標準的な選択要素はありますか?例を挙げてください。
ラバの流れでは、入力文字列メッセージの最後の2つのパラメータを比較する必要があります
2012-04-30,2012-05-30,1,5
そして、もしparam1(1) <= param2(5)
、私は実行する必要がありますjms:outbound-endpoint
。
それを行うための標準的な選択要素はありますか?例を挙げてください。
mule 3.2.xを使用する場合の最善のオプションは、Groovy Evaluatorを使用し、次のような選択ルーターを使用することです。
<when expression="#[groovy:payload.split(',')[2] <= payload.split(',')[3] ]">
<processor-chain>
<jms:outbound-endpoint queue="out" doc:name="JMS"/>
</processor-chain>
</when>
それ以外の場合、Mule 3.3.0にアップグレードする場合は、Groovy演算子を必要とせずに同じことを実行できる新しいMule式言語を利用できます。
'、'に基づいてスプリッターとスプリットを使用して、パラメーターの比較ロジックを使用することもできます。
これにGroovyを使用する必要はありません。ペイロードにsplit()関数を直接適用できます。
<when expression="#[payload.split(',')[2]<=payload.split(',')[3]]">
<processor-chain doc:name="Processor Chain">
<jms:outbound-endpoint queue="data" connector-ref="Active_MQ"doc:name="JMS"/>
</processor-chain>
</when>
式フィルターとは別に、選択フロー制御を使用することもできます。フロー変数で比較する2つの値をキャプチャし、選択したフロー制御の条件で以下の式を使用します。
詳細については、リンクの下にあります。
https://docs.mulesoft.com/mule-user-guide/v/3.7/choice-flow-control-reference
groovy演算子を必要とせずに同じことを実行できる、新しいMule式言語を利用できます。