WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

複数の AggregateControl ノードの使用

「集約名」プロパティーの値セットがすべて同じで「タイムアウト」プロパティーの値が異なる複数の AggregateControl ノードを持つファンアウト・フローを設計することが役に立つ場合もあります。 集約名を再利用できるのは、この状況の場合のみです。

始める前に:

背景情報については、メッセージ・フローの集約を参照してください。

例えば、出張旅行を予約する集約フローを作成した場合、2 日以内に応答が必要な要求がある一方で、2 時間以内に応答が必要な、より緊急性の高い要求があるという状況では、複数の AggregateControl ノードを使用したいと思うかもしれません。

複数の AggregateControl ノードを使用する集約フローを構成するには、以下のステップを実行します。

  1. ファンアウト・メッセージ・フローを作成するか、または開きます。
  2. 必要な数の AggregateControl ノードを構成します。 基本プロパティー「集約名」を同じ値に設定します。 例えば、2 つのノードを組み込み、両方に「集約名」として JOURNEY という名前を入力します。
  3. それぞれのノードの「タイムアウト」プロパティーの値を異なる値に設定します。 例えば、1 つ目のノードの「タイムアウト」を 2 時間に、2 つ目のノードの「タイムアウト」を 2 日間に設定します。
  4. 着信要求を受信するように Filter ノードを構成し、その内容をチェックし、それらの着信要求を正しい AggregateControl ノードに経路指定します。
  5. 必要な結果を得るには、ノードを一緒に接続します。 例えば、優先順位フィールドを「緊急」に設定して、要求をテストするように Filter ノードを構成した場合、短いタイムアウトを設定して True ターミナルを AggregateControl ノードに接続します。 より長いタイムアウトで false ターミナルを AggregateControl ノードに接続します。 AggregateControl ノードの out ターミナルをファンアウト・フロー内の以下のノードに接続します。

    2 つの AggregateControl ノードを直列にではなく、並列に接続する必要があります。 つまり、両方のノードを Filter ノードに (1 つを true ターミナル、もう 1 つを false ターミナルに)、および両方のノードをファンアウトに対して要求を処理する、ダウンストリーム・ノードに接続する必要があります。 それぞれの入力メッセージは、AggregateControl ノードのうちの 1 つのみを通過しなければなりません。 単一のメッセージが複数の AggregateControl ノードによって処理されるようにノードを接続する場合、重複レコードが AggregateRequest ノードによってデータベース内に作成され、後続の処理結果は予測不能です。

以下の図では、この技法を使用するファンアウト・メッセージ・フローの例が説明されます。

Filter ノードを使用してインバウンド要求の緊急度を判別し、短いまたは長いタイムアウト値を設定する 2 つの AggregateControl ノードの 1 つに対するテストの結果に基づいて、その要求を送信するファンアウト・メッセージ・フローを示す図
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:31


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac12330_