AggregateControl ノード

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

目的

AggregateControl ノードは、集約の一部である要求のファンアウトの始まりをマークするために使用します。

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

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

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

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

AggregateControl ノード・アイコン

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

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

AggregateControl ノードの構成

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

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

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

  1. 「集約名 (Aggregate Name)」の値を入力します。 この名前が、ファンアウト・メッセージ・フローとファンイン・メッセージ・フローを関連付けるために使用されます。この値は、ブローカー内の文脈で固有である必要があります。 このプロパティーは必須項目です。値を入力してください。
  2. 「タイムアウト (Timeout)」を入力します。 この値は秒単位で指定します。このプロパティーは必須項目であるため、値を入力する (または表示されている初期値の 0 を受け入れる) 必要があります。 この値を受け入れた場合、このノードからのファンアウトに対するタイムアウトは使用できなくなります。(つまり、応答は無限に待たれることになります。) 応答がすべて受信されない場合、メッセージ・フローはずっと応答を待ち続け、完了しません。 したがって、0 より大きい値を設定することをお薦めします。タイムアウトの詳細については、AggregateReply ノードを参照してください。
  3. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  4. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに AggregateControl ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

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

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

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

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Out 処理が正常に終了した時にもとのメッセージがルーティングされる出力ターミナル。
Control 制御メッセージがルーティングされる出力ターミナル。制御メッセージは、対応する AggregateReply ノードへ送信されます。

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

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

プロパティー M C デフォルト 説明
集約名 (Aggregate Name) はい はい   ファンアウト・メッセージ・フローとファンイン・メッセージ・フローを関連付けるために使用される名前。
タイムアウト (Timeout) (秒単位) はい いいえ 0 応答がファンインに到着するまで待つ時間 (秒単位)。

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

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

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

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

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