Collector ノードを使用して、ノード内に構成したルールに基づいて、メッセージ・コレクションを作成します。
このトピックには、以下のセクションが含まれています。
Collector ノードの動的入力ターミナルのいずれかに最初のメッセージが到達した時点で、メッセージ・コレクションが作成されます。 メッセージ・コレクションは WebSphere® MQ キューに格納されます。
メッセージ・コレクションのイベント・ハンドラーによる条件セットが満たされると、メッセージ・コレクションは完了し、伝搬の準備が整います。 例えば、Collector ノードで、各入力ターミナルから 2 つのメッセージを待機するというイベント・ハンドラーを設定した場合、それぞれのターミナルで 2 つのメッセージが受信された時点でメッセージ・コレクションが完了します。 次のメッセージが入力ターミナルに到達すると、そのメッセージは新しいメッセージ・コレクションに追加されます。 メッセージ・コレクションの伝搬をどのように調整するかについては、数々のオプションの中から選択することができます。 メッセージ・コレクションを自動的に伝搬して処理するよう指定できます。あるいは、制御メッセージの受信時にメッセージ・コレクションを伝搬するよう指定することもできます。
また、Collector ノードのプロパティーを使用し、メッセージ・コレクションにタイムアウトを設定することで、妥当な時間内に完了失敗にすることができます。 最初のメッセージがメッセージ・コレクションに追加された時点で、タイムアウトの計測を開始します。 メッセージ・コレクションが完了する前にタイムアウトの有効期限が切れると、未完了のメッセージ・コレクションは Expire ターミナルに伝搬されます。 コレクションの有効期限に値を設定することで、未完了のメッセージ・コレクションが、キューに無制限に格納されないようにします。 未完了のメッセージ・コレクションを取り扱うための適切な処理をメッセージ・フローに追加します。
Collector ノードはメッセージ・フローのノード・パレットのルーティング ・ドロワーに含まれ、WebSphere Message Broker Toolkit では、次のアイコンで表されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
Collector ノードには 1 つの静的入力ターミナル Control、および 4 つの静的出力ターミナル Out、Expire、Failure、Catch があります。 これらの静的ターミナルは常にノードに存在します。 静的な入力ターミナルと出力ターミナルに加えて、Collector ノードで使用する入力ソースごとに動的入力ターミナルを追加できます。
Collector ノードには、必要な数だけ入力ターミナルを追加し、構成することができます。 入力ターミナルごとにメッセージの受信方法を制御し、適切なメッセージ・コレクションに追加されるよう制御するために、各入力ターミナルのプロパティーを個別に構成することができます。
Control ターミナルを使用して、Collector ノードから完了メッセージ・コレクションの出力を起動することができます。 メッセージが Control ターミナルに受信されたときの Collector ノードの動作を設定するため、「イベント調整」プロパティーを構成します。
メッセージ・コレクションが正常に完了すると、Out ターミナルにメッセージ・コレクションを伝搬する準備が整います。 「コレクションの有効期限」プロパティーにゼロより大きい値が設定されている場合は、未完了のメッセージ・コレクションは Expire ターミナルに伝搬されます。
メッセージ・コレクションが完了すると、新しいトランザクションが作成され、次のノードに伝搬されます。 下流のノードで例外がキャッチされると、そのメッセージ・コレクションは Collector ノードの Catch ターミナルに、例外リストとともに伝搬されます。 Catch ターミナルが他のノードに接続されていない場合は、トランザクションはロールバックされます。 メッセージ・コレクションのメッセージは、Collector ノードのキューにバックアウトされます。 例外リストはシステム・ログに書き込まれます。 このステップはメッセージ・コレクションが正常に処理されるまで、繰り返されます。 メッセージ・コレクションの正常な伝搬に失敗する原因となる例外を防ぐために、すべての例外を処理するフローに Catch ターミナルを接続してください。 未完了のメッセージ・コレクションを伝搬するための有効期限タイムアウトも設定してください。
メッセージ・フローの追加インスタンスを使用するか、または Collector ノードに対する複数の入力を使用する場合、「相関パス」および「相関パターン」プロパティーを使用して、関連メッセージが必ず同じメッセージ・コレクションに追加されるようにすることができます。 追加インスタンスを使用するか、または Collector ノードへの複数入力を使用する場合、メッセージ・コレクション内のメッセージの順序は予測できなくなります。 Collector ノードへの入力として WebSphere MQ クラスター・キューを使用する場合も、メッセージの順序は予測不能になります。
Collector ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。Collector ノードの構成およびメッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。 値を入力する必要のある (デフォルト値が定義されていないプロパティー) すべての必須プロパティーには、アスタリスクが表示されます。
Collector ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Control | 制御メッセージを受け入れる静的な入力ターミナル。 Control ターミナルで受信されたすべてのメッセージは制御メッセージとして扱われます。 |
Out | 受信したメッセージがメッセージ・コレクションに構成した条件を満たした場合に、完了したメッセージ・コレクションがルーティングされる出力ターミナル。 |
Expire | 受信したメッセージが「コレクションの有効期限」プロパティーに指定した時間内に、構成した条件を満たさない場合に、未完了のメッセージ・コレクションがルーティングされる出力ターミナル。 「コレクションの有効期限」プロパティーに値を設定しなかった場合は、このターミナルは使用されません。 |
Failure | 処理中に障害が検出された場合に、メッセージ・コレクションがルーティングされる出力ターミナル。 |
Catch | 例外がダウンストリームにスローされ、このノードでキャッチされたときにメッセージ・コレクションがルーティングされる出力ターミナル。 |
Collector ノードには動的な入力ターミナルをさらに加えることができます。 Collector ノード用に数値のターミナル・ラベルを作成できます。ただし、Compute ノードは数値ラベルをサポートしていません。 そのため、Collector ノード用のカスタム・ターミナルを定義するときには、必ず名前を英字で始めてください。
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
Collector ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ、Collector。 | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
Collector ノードには 2 種類の「基本」プロパティーがあります。 「基本」プロパティーの「コレクション定義」表で Collector ノードに追加する動的入力ターミナルごとに、プロパティーを設定できます。 「コレクション定義」表のプロパティーでは、個別の入力ターミナルに到達するメッセージのイベント・ハンドラーを定義します。 それぞれの動的入力ターミナルで設定可能なプロパティーについては、次の表で説明します。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ターミナル | はい | いいえ | ターミナル名 | 「ターミナル」はノードのプロパティーではなく、動的入力ターミナルの名前を示すラベルです。 「コレクション定義」表で Collector ノードに追加した各動的入力ターミナルの「イベント・ハンドラー」プロパティーに値を入力します。 |
数量 | はい | いいえ | 1 | このプロパティーは、入力ターミナルがメッセージ・コレクションへの追加を受け入れるメッセージ数を指定します。 デフォルト値は 1 で、このデフォルト値を受け入れると、コレクションに追加されるメッセージは 1 つだけになります。 ターミナルで 2 つ目のメッセージが受信されると、新しいコレクション・インスタンスが作成されます。 0 (ゼロ) を選択するか、値を指定しないと、受け入れられるメッセージ数の制限はなくなります。 この場合、「タイムアウト」 プロパティーに設定された値はゼロより大きくなければなりません。 |
タイムアウト | はい | いいえ | 0 | このプロパティーは、入力ターミナルがメッセージを受け入れる最大時間を秒単位で指定します。 0 (ゼロ) を選択すると、タイムアウトは無効になり、メッセージの待機時間は無制限になります。 この場合、「数量」 プロパティーに設定された値はゼロより大きくなければなりません。 |
相関パス | いいえ | いいえ | メッセージは同じ相関ストリングをもつメッセージ・コレクションでのみ、受け入れられます。 異なった相関ストリングをメッセージが持っている場合、キュー内の次のコレクションにそのストリングが提供されます。
どのコレクションもメッセージを受け入れない場合、そのメッセージ内の相関ストリングの値に設定された相関ストリングを使って、新規のコレクションが作成されます。 メッセージは相関パスからの値によってグループ分けされます。 相関パスを定義するときには、XPath を使用します。
XPath を使用して独自の相関パスを定義するか、以下の事前定義パスからいずれかを選択できます。
相関パス の値を定義すると、オプションで相関パターン を構成できるようになります。 |
|
相関パターン | いいえ | いいえ | このプロパティーは相関パスの値の内容と突き合わせるパターンを指定します。 「相関パターン」プロパティーの値を設定する前に、「相関パス」プロパティーを設定する必要があります。 相関パターンを設定した場合は、* 文字を 1 つ、オプションで前後に他のテキストを含めて使用する必要があります。 例えば、*.dat などです。 相関パターンがブランクの場合、相関パスのテキスト全体が、着信メッセージに一致する必要があります。 |
Collector ノードの残りの「基本」プロパティーは次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
コレクション名 | いいえ | いいえ | このプロパティーはメッセージ・コレクションの名前を指定します。
|
||
コレクションの有効期限 | いいえ | はい | Collector ノードがメッセージの到達を待機する時間 (秒単位)。 この時間が経過すると、未完了のメッセージ・コレクションは失効し、Expire 出力ターミナルに伝搬されます。 このプロパティーをゼロに設定すると、コレクション有効期限は無効になり、Collector ノードは無制限にメッセージを待機します。 ゼロより大きい値を設定し、すべてのメッセージを受信しなくてもメッセージ・コレクションが処理されるようにしてください。 このプロパティーが設定されていないと、警告が出ます。 このプロパティーは、Collector 構成可能サービス内の「コレクションの有効期限」プロパティー (設定されている場合) によって指定変更されます。 |
collectionExpiry |
Collector ノードの「拡張」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
持続モード | いいえ | いいえ | ノード・タイプ、Collector。 | このプロパティーは、Collector ノードのキューにメッセージを永続的に保管するかどうかを指定します。 |
イベント調整 | はい | いいえ | 使用不可 | このプロパティーは Collector ノードでのイベント調整処理のために Control ターミナルで受信されたメッセージの処理方法を指定します。
|
構成可能サービス | いいえ | はい | 設定なし | このプロパティーは、Collector ノードによって使用される Collector 構成可能サービスの名前を指定します。 Collector 構成可能サービスによって設定されたプロパティーは、Collector ノード上で設定された同等のプロパティーを指定変更します。 この構成可能サービスによって設定可能なプロパティーの詳細については、構成可能サービスのプロパティーを参照してください。 |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |