AggregateReply ノード

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

目的

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

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

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

  1. AggregateControl ノードは、集約の一部である要求のファンアウトの始まりをマークします。 このノードは AggregateReply ノードが複数の要求のマッチングを行うために使用する制御メッセージを送信します。 制御ターミナルから伝搬される情報には、ブローカー ID、集約名プロパティー、およびタイムアウト・プロパティーが含まれます。メッセージ環境に AggregateControl ノードによって追加された集約情報は、変更できません。
  2. AggregateRequest ノードは、要求メッセージが送信されたという事実を記録します。 このノードは、AggregateReply ノードが集約された応答メッセージを構成するための情報も収集します。 メッセージ環境に AggregateRequest によって追加された情報は保存する必要があります。そうしないと集約は失敗します。
  3. AggregateReply ノードは、集約のファンインの終わりをマークします。このノードは、応答を収集して結合し、単独の集約された応答メッセージにします。

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

AggregateReply ノード・アイコン

集約に対するすべての応答を受け取る前に AggregateReply ノードによって着信メッセージが保管される場合、メッセージの持続性により、メッセージが再始動後も存在するかどうかが決定されます。

集約中に、AggregateReply ノードによって 1 つ以上の応答メッセージが受け取られない場合、通常のタイムアウトまたは不明メッセージ処理は、すでに受け取られている応答を取り扱います。

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

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

AggregateReply ノードの構成

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

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

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

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

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

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

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

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

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

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

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

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

プロパティー M C デフォルト 説明
集約名 はい はい   ファンイン・メッセージ・フローとファンアウト・メッセージ・フローを関連付けるために使用される名前。 このプロパティーは必須です。
不明なメッセージ・タイムアウト いいえ いいえ 0 応答として識別できないメッセージを unknown ターミナルに伝搬する前の、メッセージ保持時間。
トランザクション・モード はい いいえ 選択されている このノードにより伝搬されるメッセージがトランザクションとして書き込まれるかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
注: z/OS 上で、「不明なメッセージ・タイムアウト」プロパティーをゼロに設定しない場合は、キュー・マネージャー・パラメーター EXPRYINT を 5 に設定してください。

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

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04750_