Scatter-Gather (<scatter-gather/>)

logo cloud IDE Cloud IDE

logo desktop IDE Desktop IDE

2 つ以上のルートを使用して Mule イベントを処理し、結果を 1 つのイベントオブジェクトに結合します。

コンポーネント XML

このコンポーネントは、次の XML 構造をサポートします。

<scatter-gather doc:name="Scatter-Gather"
  doc:id="24d159a9"
  timeout="0"
  target="myTarget"
  maxConcurrency="10">
    <route >
      <!-- one or more processors here -->
    </route>
    <route >
      <!-- one or more processors here -->
    </route>
</scatter-gather>

<scatter-gather/>​ 要素は、複数の対象に要求を同時に送信します。このコンポーネントは応答をすべてのルートから収集して、単一のメッセージに集約します。

<route/>​ 子要素には、イベントを処理するための 1 つ以上のコネクタ操作または Mule コンポーネントが含まれます。

<scatter-gather/>​ Attributes 説明

doc:name

コンポーネントの編集可能な名前。

doc:id

コンポーネントの自動生成された識別子。

timeout

送信したメッセージからの応答のタイムアウトをミリ秒単位で指定します。​0​ または ​0​ 未満の値を指定すると、タイムアウトは設定されません。デフォルトは ​0​ です。

maxConcurrency

同時に実行するルートの最大数を設定します。

デフォルトでは、すべてのルートが並列実行されます。この値を ​1​ に設定すると、このコンポーネントはルートを 1 本ずつ順次処理します。

target

対象変数​の名前。

targetValue

対象変数に格納するデータの値。 デフォルト値は ​#[payload]​ です。この項目は、Mule 変数が受け入れるすべての値を受け入れます。

  • サポートされる任意のデータ型

  • DataWeave 式

  • キーワードの ​payload​、​attributes​、​message​。​vars​ は​受け入れられません

次の例 ​ACTION_VERB_HERE_WITH_DESCRIPTION_OF_WHAT_IT_DOES_OR_SHOWS

< EXAMPLE_XML_HERE />

エラー処理

このコンポーネントは、次のエラーをスローします。

  • MULE:ROUTING

  • MULE:COMPOSITE_ROUTING

このコンポーネントでタイムアウトを設定してある場合、そのタイムアウト時間内にルートが処理を完了しないと、そのルートは ​MULE:TIMEOUT​ エラーを返します。Mule は、ルートで発生する他のエラーと同じようにこのエラーを処理します。各ルートが (処理を正常に完了するか、または ​MULE:TIMEOUT​ エラーをスローして) 完了すると、成功した結果とエラーが ​MULE:COMPOSITE_ROUTING​ エラー内に収集され、設定されているエラーハンドラーコンポーネント内で処理されます。