AggregateReply ノード

このトピックには、以下のセクションが含まれています。

目的

AggregateReply ノードは、集約のファンインの終わりをマークするために使用します。 このノードは、応答を収集して結合し、単独の複合応答メッセージにします。

集約は、要求/応答アプリケーション・モデルを拡張したものです。集約は、いくつもの関連した要求の生成およびファンアウトと、それに対応する応答のファンインを結合し、それらの応答をコンパイルして、単一の集約された応答メッセージを作成します。

集約関数は以下の 3 つのノードにより提供されます。

  1. AggregateControl ノードは、集約の一部である要求のファンアウトの始まりをマークします。
  2. AggregateRequest ノードは、要求メッセージが送信されたという事実を記録します。このノードは、AggregateReply ノードが集約された応答メッセージを構成するための情報も収集します。
  3. AggregateReply ノードは、集約のファンインの終わりをマークします。このノードは、応答を収集して結合し、単独の集約された応答メッセージにします。

ワークベンチでは、AggregateReply ノードは次のアイコンで表されます。

AggregateReply ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードが使用される方法に関しては、航空機 (Airline) のサンプルを参照してください。

AggregateReply ノードの構成

AggregateReply ノードのインスタンスをメッセージ・フローに入れると、AggregateReply ノードを構成することができます。 エディター・ビューでノードを右マウス・ボタンでクリックし、「プロパティー (Properties)」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように、AggregateReply ノードを構成します。

  1. 「集約名 (Aggregate Name)」の値を入力します。 この名前が、ファンイン・メッセージ・フローとファンアウト・メッセージ・フローを関連付けるために使用されます。この値は、ブローカー内の文脈で固有である必要があります。 このプロパティーは必須項目です。値を入力してください。
  2. 「不明なメッセージのタイムアウト (Unknown Message Timeout)」の値を入力します。 この値は秒単位で指定します。 この値は、正しい応答として識別できないメッセージが unknown ターミナルへ伝搬されるまで保留される時間を指定します。

    0 を入力するか、または値を入力しなかった場合、タイムアウトは使用不可になり、不明なメッセージは受信されるとすぐに unknown ターミナルに伝搬されます。

  3. このメッセージのトランザクション特性を定義するには、「トランザクション・モード (Transaction Mode)」を選択します。
    • チェック・ボックスを選択すると、後続のメッセージ・フローがトランザクション制御されます。 これは、MQOutput ノードが明示的にトランザクション状況を上書きしない限り、MQOutput ノードからの出力メッセージと出力より派生するメッセージに対して真となります。 これはデフォルトです。(他のノードでは出力メッセージのトランザクション特性を変更できません。)
    • チェック・ボックスを選択しない場合には、後続のメッセージ・フローはトランザクション制御されません。 これは、MQOutput ノードがメッセージを同期点下に置くように指定しない限り、MQOutput ノードからの出力メッセージと出力より派生するメッセージに対して真となります。
  4. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  5. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに AggregateReply ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル (Cancel)」をクリックすると、ダイアログを閉じてプロパティーの変更をすべて破棄します。

ターミナルおよびプロパティー

AggregateReply ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
Control 対応する AggregateControl ノードから送信された制御メッセージを受け入れる入力ターミナル。
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 処理で障害が検出された場合に、メッセージがルーティングされる出力ターミナル。
Unknown メッセージが正しい応答メッセージとして識別できなかった場合にルーティングされる出力ターミナル。
Out 処理が正常に終了した時に複合メッセージがルーティングされる出力ターミナル。
Timeout 対応する AggregateControl ノードで指定されたタイムアウト間隔が過ぎた時に、未完了の複合メッセージがルーティングされる出力ターミナル。
Catch 例外がダウンストリームで発生し、このノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

AggregateReply ノードの「基本 (Basic)」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
集約名 (Aggregate Name) はい はい   ファンイン・メッセージ・フローとファンアウト・メッセージ・フローを関連付けるために使用される名前。 このプロパティーは必須です。
不明なメッセージ・タイムアウト (Unknown Message Timeout) いいえ いいえ 0 応答として識別できないメッセージを unknown ターミナルに伝搬する前の、メッセージ保持時間。
トランザクション・モード (Transaction Mode) はい いいえ 選択されている このノードにより伝搬されるメッセージがトランザクションとして書き込まれるかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。

AggregateReply ノードの「説明 (Description)」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 (Short Description) いいえ いいえ   ノードの簡単な説明
詳細説明 (Long Description) いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

関連概念
メッセージ・フロー
メッセージ・フローの集約

関連タスク
使用するノードの決定
整合されたメッセージ・フローの構成
メッセージ・フローのエラー処理
集約フローの構成
構成可能プロパティーの編集

関連資料
AggregateControl ノード
AggregateRequest ノード