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

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

Collector ノード

Collector ノードを使用して、ノード内に構成したルールに基づいて、メッセージ・コレクションを作成します。

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

目的

Collector ノードを使用し、構成可能な基準に基づいて、1 つ以上のソースからメッセージ・コレクションを作成します。 例えば、3 つの異なるソースから情報を抽出、結合、変換しなければならない場合があります。 これらの異なるソースのメッセージは、入力ターミナルに到達する時も異なり、その順序も決まっていない場合があります。 コレクションを定義するには、各入力ターミナルにイベント・ハンドラーを構成します。 各イベント・ハンドラーは、以下のプロパティーに従って、コレクションへのメッセージの受け入れを制御します。
  • メッセージ数
  • 指定した期間のメッセージの収集
  • 相関パスの内容の突き合わせ
  • 相関パターンの内容の突き合わせ
相関プロパティーを使うと、メッセージの内容に従ってコレクションを作成することができます。 内容は、XPath 式を使って指定します。 Collector ノードでは、どの入力の場合も同一の相関ストリングが必ずコレクションに格納されることになります。 XPath 1.0 の照会構文について詳しくは、W3C XPath 1.0 Specificationを参照してください。

Collector ノードの動的入力ターミナルのいずれかに最初のメッセージが到達した時点で、メッセージ・コレクションが作成されます。 メッセージ・コレクションは WebSphere® MQ キューに格納されます。

メッセージ・コレクションのイベント・ハンドラーによる条件セットが満たされると、メッセージ・コレクションは完了し、伝搬の準備が整います。 例えば、Collector ノードで、各入力ターミナルから 2 つのメッセージを待機するというイベント・ハンドラーを設定した場合、それぞれのターミナルで 2 つのメッセージが受信された時点でメッセージ・コレクションが完了します。 次のメッセージが入力ターミナルに到達すると、そのメッセージは新しいメッセージ・コレクションに追加されます。 メッセージ・コレクションの伝搬をどのように調整するかについては、数々のオプションの中から選択することができます。 メッセージ・コレクションを自動的に伝搬して処理するよう指定できます。あるいは、制御メッセージの受信時にメッセージ・コレクションを伝搬するよう指定することもできます。

また、Collector ノードのプロパティーを使用し、メッセージ・コレクションにタイムアウトを設定することで、妥当な時間内に完了失敗にすることができます。 最初のメッセージがメッセージ・コレクションに追加された時点で、タイムアウトの計測を開始します。 メッセージ・コレクションが完了する前にタイムアウトの有効期限が切れると、未完了のメッセージ・コレクションは Expire ターミナルに伝搬されます。 コレクションの有効期限に値を設定することで、未完了のメッセージ・コレクションが、キューに無制限に格納されないようにします。 未完了のメッセージ・コレクションを取り扱うための適切な処理をメッセージ・フローに追加します。

Collector ノードはメッセージ・フローのノード・パレットのルーティング ・ドロワーに含まれ、WebSphere Message Broker Toolkit では、次のアイコンで表されます。

Collector ノード・アイコン

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

このノードの使用法については、以下のサンプルを参照してください。

サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

Collector ノードを使用し、さらなる処理のために異なる入力ソースからのメッセージをグループ化します。 メッセージ・コレクションは以下のノードでのみ処理することができます。
  • Compute
  • JavaCompute
  • .NETCompute
  • PHPCompute
メッセージ・コレクションに対応していないノードでメッセージ・コレクションを処理しようとすると、エラーが発生するおそれがあります。

Collector ノードには 1 つの静的入力ターミナル Control、および 4 つの静的出力ターミナル OutExpireFailureCatch があります。 これらの静的ターミナルは常にノードに存在します。 静的な入力ターミナルと出力ターミナルに加えて、Collector ノードで使用する入力ソースごとに動的入力ターミナルを追加できます。

Collector ノードには、必要な数だけ入力ターミナルを追加し、構成することができます。 入力ターミナルごとにメッセージの受信方法を制御し、適切なメッセージ・コレクションに追加されるよう制御するために、各入力ターミナルのプロパティーを個別に構成することができます。

Control ターミナルを使用して、Collector ノードから完了メッセージ・コレクションの出力を起動することができます。 メッセージが Control ターミナルに受信されたときの Collector ノードの動作を設定するため、「イベント調整」プロパティーを構成します。

メッセージ・コレクションが正常に完了すると、Out ターミナルにメッセージ・コレクションを伝搬する準備が整います。 「コレクションの有効期限」プロパティーにゼロより大きい値が設定されている場合は、未完了のメッセージ・コレクションは Expire ターミナルに伝搬されます。

メッセージ・コレクションが完了すると、新しいトランザクションが作成され、次のノードに伝搬されます。 下流のノードで例外がキャッチされると、そのメッセージ・コレクションは Collector ノードの Catch ターミナルに、例外リストとともに伝搬されます。 Catch ターミナルが他のノードに接続されていない場合は、トランザクションはロールバックされます。 メッセージ・コレクションのメッセージは、Collector ノードのキューにバックアウトされます。 例外リストはシステム・ログに書き込まれます。 このステップはメッセージ・コレクションが正常に処理されるまで、繰り返されます。 メッセージ・コレクションの正常な伝搬に失敗する原因となる例外を防ぐために、すべての例外を処理するフローに Catch ターミナルを接続してください。 未完了のメッセージ・コレクションを伝搬するための有効期限タイムアウトも設定してください。

注: Collector ノードのダウンストリームで生じるすべての例外は、Catch ターミナルに経路指定されます。 Collector ノード内のメッセージ・コレクションの完了はトランザクションの開始を意味するので、この例外はアップストリームでさらに処理されることはありません。 この振る舞いは AggregateReply ノードに似ています。 Throw ノードを Collector ノードの Catch ターミナルに接続しないでください。コントロールが同じ Catch ターミナルに戻されるからです。

メッセージ・フローの追加インスタンスを使用するか、または Collector ノードに対する複数の入力を使用する場合、「相関パス」および「相関パターン」プロパティーを使用して、関連メッセージが必ず同じメッセージ・コレクションに追加されるようにすることができます。 追加インスタンスを使用するか、または Collector ノードへの複数入力を使用する場合、メッセージ・コレクション内のメッセージの順序は予測できなくなります。 Collector ノードへの入力として WebSphere MQ クラスター・キューを使用する場合も、メッセージの順序は予測不能になります。

Collector ノードの構成

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 を使用して独自の相関パスを定義するか、以下の事前定義パスからいずれかを選択できます。
  • $LocalEnvironment/Wildcard/WildcardMatch
  • $Root/MQMD/CorrelId
  • $LocalEnvironment/FileInput/Name
  • $Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID

相関パス の値を定義すると、オプションで相関パターン を構成できるようになります。

相関パターン いいえ いいえ   このプロパティーは相関パスの値の内容と突き合わせるパターンを指定します。 「相関パターン」プロパティーの値を設定する前に、「相関パス」プロパティーを設定する必要があります。 相関パターンを設定した場合は、* 文字を 1 つ、オプションで前後に他のテキストを含めて使用する必要があります。 例えば、*.dat などです。

相関パターンがブランクの場合、相関パスのテキスト全体が、着信メッセージに一致する必要があります。

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

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
コレクション名 いいえ いいえ   このプロパティーはメッセージ・コレクションの名前を指定します。
  • このプロパティーを設定してワイルドカード * を含める場合は、ワイルドカードは関連するイベント・ハンドラーからの相関ストリングで置き換えられます。
  • このプロパティーをブランクのままにするか、または * を使用し、相関ストリングを空にすると、コレクション名は空ストリングに設定されます。
 
コレクションの有効期限 いいえ はい   Collector ノードがメッセージの到達を待機する時間 (秒単位)。 この時間が経過すると、未完了のメッセージ・コレクションは失効し、Expire 出力ターミナルに伝搬されます。

このプロパティーをゼロに設定すると、コレクション有効期限は無効になり、Collector ノードは無制限にメッセージを待機します。 ゼロより大きい値を設定し、すべてのメッセージを受信しなくてもメッセージ・コレクションが処理されるようにしてください。 このプロパティーが設定されていないと、警告が出ます。

このプロパティーは、Collector 構成可能サービス内の「コレクションの有効期限」プロパティー (設定されている場合) によって指定変更されます。

collectionExpiry

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

プロパティー M C デフォルト 説明
持続モード いいえ いいえ ノード・タイプ、Collector このプロパティーは、Collector ノードのキューにメッセージを永続的に保管するかどうかを指定します。
イベント調整 はい いいえ 使用不可 このプロパティーは Collector ノードでのイベント調整処理のために Control ターミナルで受信されたメッセージの処理方法を指定します。
  • デフォルト値 (「使用不可」) を受け入れると、Control ターミナルへのメッセージは無視され、コレクションは完了した時点で伝搬されます。
  • 「すべての完了コレクション」を選択すると、完了メッセージ・コレクションが WebSphere MQ キューに保持されます。 メッセージが制御ターミナルで受信されると、WebSphere MQ キューのすべての完了メッセージ・コレクションは、Out ターミナルに伝搬されます。
  • 「最初の完了コレクション」を選択すると、完了メッセージ・コレクションは WebSphere MQ キューに保持されます。 メッセージが制御ターミナルで受信されると、WebSphere MQ キューの最初の完了メッセージ・コレクションは、Out ターミナルに伝搬されます。 コレクションは完了したのと同じ順序で伝搬されます。 メッセージが Control ターミナルで受信されたとき、WebSphere MQ キューが空だった場合は、次の完了メッセージ・コレクションがすぐに Out ターミナルに伝搬されます。
構成可能サービス いいえ はい 設定なし このプロパティーは、Collector ノードによって使用される Collector 構成可能サービスの名前を指定します。

Collector 構成可能サービスによって設定されたプロパティーは、Collector ノード上で設定された同等のプロパティーを指定変更します。

この構成可能サービスによって設定可能なプロパティーの詳細については、構成可能サービスのプロパティーを参照してください。

ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。

以下のノードでは、モニター・プロパティーを使用してトランザクション・イベントを構成することはできません。 代わりにモニター・プロファイルを使用してください。モニター・プロファイルを使用したモニター・イベント・ソースの構成を参照してください。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

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


参照トピック参照トピック | バージョン 8.0.0.5 | ac37820_