集約ファンアウト・フローは、初期入力メッセージを受け取ると、 それを再構築してさまざまなターゲット・アプリケーションへの要求を表示します。
始める前に:
このタスクを実行するには、以下のタスクを完了している必要があります。
ファンアウト・フローの例を検討するには、WebSphere Business Integration Message Broker で提供されている 航空機 (Airline) サンプルを参照してください。
ファンアウト・フローを作成するには、以下のようにします。
これは、最も単純な構成を表します。 適当であれば、入力ノードと AggregateControl ノードとの間に他のノードを組み込むことができます。 たとえば、監査のために要求を (Warehouse ノードで) 保管したり、 または固有 ID をメッセージに (Compute ノードで) 追加したい場合もあります。
サブタスク要求を処理するターゲット・アプリケーションが単一の入力メッセージから必要な情報を取り出せる場合、メッセージを分割するために Compute ノードを組み込む必要はありません。 すべてのターゲット・アプリケーションに入力メッセージ全体を渡すことができます。
ターゲット・アプリケーションが、入力メッセージ全体ではなく、個々の要求を受信することが予期される場合、 入力メッセージからそれぞれ個々のサブタスク出力メッセージを生成するために Compute ノードを組み込まなければなりません。 それぞれの出力メッセージに入力メッセージの適切なサブセットをコピーして、 以下の方法でそれぞれの Compute ノードを構成してください。
AggregateControl ノードは、メッセージが到着するとき AggregateRequest ノードが読み取る入力メッセージ内の LocalEnvironment ツリーにエレメントを挿入します。 LocalEnvironment が、Compute ノード内の入力メッセージから出力メッセージに確実にコピーされるようにしてください。 これは、LocalEnvironment (All、LocalEnvironment、 LocalEnvironment and Message、または Exception and LocalEnvironment のうちの 1 つ) を含む値を指定しない限り、自動的に行われます。
これらの値のいずれかを指定する場合、 ブローカーは、ユーザーが LocalEnvironment に書き込む ESQL で Compute ノードをカスタマイズし、 出力メッセージ内で必要なそのツリー内の任意のエレメント上にコピーすると想定します。
LocalEnvironment を変更したい場合には、以下のステートメントを追加し、 入力メッセージから出力メッセージに必要な集約情報をコピーしてください。
SET OutputLocalEnvironment.ComIbmAggregateControlNode = InputLocalEnvironment.ComIbmAggregateControlNode;
これは、要求/応答モデルをサポートする出力ノードでなければなりません。 要求/応答をサポートする、組み込みノード MQeOutput および MQOutput、またはユーザー定義の出力ノード、 あるいはこれらのノードの混合を使用することができます (これはターゲット・アプリケーションの要件に応じて異なります)。
組み込みノードが書き込む情報は、キュー名、キュー・マネージャー名、(MQMD からの) メッセージ ID、(MQMD からの) 相関 ID、 およびメッセージ応答 ID (メッセージ ID と同じ値に設定される) です。
ユーザー定義の出力ノードを使用する場合、そのノードが同じ情報を WrittenDestination に保管することを確認してください。 詳細については、サポートされる集約のプロトコルを参照してください。
AggregateRequest ノードは、処理するそれぞれのメッセージごとにブローカー・データベース内にレコードを作成します。 これにより、AggregateReply ノードは、それぞれの応答が関連付けられる要求を識別することができます。 出力ノードが非トランザクションである場合、このデータベースの更新がコミットされる前に、 応答メッセージがファンイン・フローに着信することがあります。 これを避けるためにタイムアウトを使用する方法の詳細については、集約のタイムアウトの設定を参照してください。
関連概念
メッセージ・フロー
LocalEnvironment ツリー
メッセージ・フローの集約
ユーザー定義の入力ノード
ユーザー定義の出力ノード
関連タスク
集約フローの構成
集約ファンイン・フローの作成
ファンアウトおよびファンイン集約フローの関連付け
集約のタイムアウトの設定
複数の AggregateControl ノードの使用
集約フロー内の例外およびデータベース・デッドロックの処理
メッセージ・フローの設計
メッセージ・フローの作成
メッセージ・フローの内容の定義
複数の出力メッセージの生成
ユーザー定義拡張機能の開発
関連資料
AggregateControl ノード
AggregateReply ノード
AggregateRequest ノード
Compute ノード
MQeInput ノード
MQeOutput ノード
MQInput ノード
MQOutput ノード
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac12290_ |