0

For Each の紹介では、次のように述べています。

フローの途中で新しいメッセージ (ペイロード) と同様の処理を行う場合に、元のメッセージをフローに戻すフォームがあるかどうかを知りたいのですが、For Each を使用するケースではありません。 !

例:

フロー (ペイロード AA) -> [「サブ」フロー (ペイロード BB)] -> フロー (ペイロード AA)

これを行うためのフォームはありますか?

4

1 に答える 1

2

最も簡単な方法はsub-flow、元のペイロードが変更されないように、の結果を flowVar に格納するエンリッチャーを使用することです。

<enricher target="#[flowVars.someSubFlowResult]">
 <flow-ref name="mySubFlow" />
</enricher>

または、フローに入ったときに元のペイロードをフロー変数に手動で保存し、フローの最後に、フロー変数を使用してペイロードを元のペイロードに戻します。例えば:

<set-variable variableName="originalPayload" value="#[payload]" />

<!-- do some other processing -->

<set-payload value="#[flowVars.originalPayload]" />
于 2016-01-12T11:30:32.080 に答える