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 (​<scatter-gather/>​) 属性は UI および XML で設定できます。

属性名 属性 XML 説明

Scatter gather (スキャッターギャザー)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

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

Timeout (タイムアウト)

timeout

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

Max concurrency (最大同時実行)

maxConcurrency

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

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

Collect list (収集リスト)

なし

なし

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 デフォルト値は ​#[payload]​ です。

Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

<route/>​ は Scatter Gather の子要素です。

子要素 説明

<route/>

Mule イベントを処理するための 1 つ以上のコンポーネントを子要素として受け入れます。複数の ​<route/>​ 設定が許可されます。

エラー処理

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

  • MULE:ROUTING

  • MULE:COMPOSITE_ROUTING

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