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

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

イベント・ハンドラーのプロパティーの設定

Collector ノードの動的入力ターミナルごとに、イベント・ハンドラーのプロパティーを構成できます。 これらのイベント・ハンドラーのプロパティーは、各ターミナルで受信されたメッセージがどのようにメッセージ・コレクションに追加されるかを決定します。

始める前に:

このタスクを完了するには、以下のタスクを完了している必要があります。

1 つ以上のイベント・ハンドラーのプロパティーを使用して、Collector ノードに追加した入力ターミナルごとに、メッセージがメッセージ・コレクションに追加される方法を制御することができます。未完了のメッセージ・コレクションは WebSphere® MQ キューに格納されます。 メッセージ・コレクションは、Collector ノードによって生成された順 (先入れ先出し法) で格納されます。 各メッセージ・コレクションには、入力ターミナルごとに 1 つのイベント・ハンドラー・インスタンスが存在します。 イベント・ハンドラーはターミナル上の着信メッセージがメッセージ・コレクションに追加されるかどうかを判別します。 イベント・ハンドラー・インスタンスは、コレクションの状態、受信したメッセージ数、タイマー、相関ストリングなどの情報を保守します。 新しいメッセージが入力ターミナルで受信されると、キューで順番を待機中の各メッセージ・コレクションのイベント・ハンドラーに提供されます。 メッセージがイベント・ハンドラーの 1 つで受け入れられると、メッセージ・コレクションに追加されます。 受け入れられたメッセージは、他のメッセージ・コレクションには提供されません。 すべてのイベント・ハンドラーがメッセージを拒否した場合は、そのメッセージはキューの最後に追加された新しいメッセージ・コレクションに追加されます。

コレクションで受け入れられた最初のメッセージは、メッセージ・コレクションの相関ストリング (構成されている場合) を判別します。 そのメッセージ・コレクションに送信されるその後のメッセージは、その相関ストリングが、コレクションの相関ストリングに一致する場合にのみ受け入れられます。 各イベント・ハンドラーが最初のメッセージを受け入れるごとに、タイムアウト・タイマー (構成されている場合) が開始します。 各イベント・ハンドラーで受け入れられたメッセージごとに、数量カウントが増分されます。 受け入れられたメッセージの数が構成された数量に達した、あるいはタイムアウト値に達した場合、 イベント・ハンドラーは満たされた状態になります。 イベント・ハンドラーが満たされた状態になると、それ以降、イベント・ハンドラーはメッセージを受け入れません。 メッセージ・コレクションは、すべてのメッセージ・コレクションのイベント・ハンドラーが満たされた状態になってはじめて完了します。 これで、メッセージ・コレクションは伝搬の準備が整います。

「プロパティー」ビューの「基本」タブにある「コレクション定義」表を使用して、イベント・ハンドラーのプロパティーを構成できます。

Collector ノードでイベント・ハンドラーのプロパティーを構成するには、次のようにします。

  1. Collector ノードでメッセージ・フローを開きます。
  2. Collector ノードを右クリックし、「プロパティー」を選択します。
  3. 「基本」タブをクリックします。
  4. 以下の指示を使用して、各入力ターミナルに設定するイベント・ハンドラーのプロパティーを構成します。
    • 1 つ以上のターミナルから各メッセージ・コレクションに指定した数のメッセージを追加するには、「コレクション定義」表の「数量」 に値を入力する必要があります。 この値は、コレクションを完了するため、構成された各入力ターミナルが受け入れるメッセージの数を指定するために使用されます。 例えば、入力ターミナルのうち 3 つで 2 メッセージ分待機するよう「数量」を設定した場合、3 つそれぞれの入力ターミナルで 2 つのメッセージが受信されるまで、メッセージ・コレクションは完了しません。 このメッセージ・コレクションが完了すると、それぞれ 3 つのターミナルに 2 つずつのメッセージで計 6 メッセージが受信されたことになります。 入力ターミナルのいずれかで 2 つを超えるメッセージを受信するとすぐに、次のメッセージは新しいメッセージ・コレクションに追加されます。
      1. 「コレクション定義」表で、「数量」列内の選択した入力ターミナルの行をクリックします。
      2. メッセージ・コレクションに追加する入力メッセージの数値を入力します。 「ゼロ」を選択するか、このプロパティーを設定しない場合、受け入れられるメッセージ数の制限はなくなります。 この場合、「タイムアウト」 プロパティーに設定された値はゼロより大きくなければなりません。 デフォルト値の 1 を受け入れると、選択したターミナルからコレクションに追加されるメッセージは、1 つだけになります。

      「タイムアウト」を設定しない場合、「数量」の値を入力する必要があります。

    • メッセージ・コレクションが伝搬される前に、設定された時間だけメッセージを収集するようにするには、「タイムアウト」 の値を入力する必要があります。 この値は、メッセージ・コレクションが完了するまでに、選択した入力ターミナルでメッセージを受け入れる最大秒数を指定するために使用されます。 タイムアウト間隔は最初のメッセージが選択したターミナルに到着した時点で開始します。 その後のすべてのメッセージは同じメッセージ・コレクションに追加されます。 タイムアウト間隔が終了すると、このターミナルからメッセージ・コレクションにメッセージが追加されなくなります。 すべてのターミナルの条件が満たされると、メッセージ・コレクションを伝搬する準備が整います。 次のメッセージが選択された入力ターミナルに到達すると、新しいメッセージ・コレクションが作成され、タイムアウト間隔が再度計測開始されます。 タイムアウトが複数の入力ターミナルに設定されている場合は、各ターミナルが構成された時間中にメッセージを収集します。 タイムアウト中は、すべてのターミナルからのメッセージが同じメッセージ・コレクションに追加されます。
      1. 「コレクション定義」表で、「タイムアウト」列内の選択した入力ターミナルの行をクリックします。
      2. メッセージをメッセージ・コレクションに追加するために待機する時間の長さの値を秒単位で入力します。 例えば、メッセージ・コレクションに追加するメッセージを 1 時間待機する場合は、値に 3600 を入力します。 デフォルト値のゼロを受け入れると、タイムアウトは有効とならず、メッセージの待機時間は無制限になります。 この場合、「数量」 プロパティーに設定された値はゼロより大きくなければなりません。

      「数量」を設定しない場合、「タイムアウト」の値を入力する必要があります。

    • メッセージの内容をもとに、メッセージを異なるメッセージ・コレクションに入力するには、 「相関パス」に XPath 値を入力する必要があります。 この値は、相関ストリングを抽出するもとになる着信メッセージにパスを指定するために使用されます。 相関ストリングとは相関パスで抽出された値を指します。 相関パターンが指定されている場合は、相関ストリングは相関パターンに対して照合されます。 メッセージは同じ相関ストリングをもつメッセージ・コレクションでのみ、受け入れられます。 メッセージ・コレクションの名前にアスタリスク (*) を指定すると、相関ストリングによって置き換えられます。
      1. 「コレクション定義」表で、「相関パス」列内の選択した入力ターミナルの行をクリックします。
      2. リストから事前定義した相関パスを選択するか、または XPath を使用して、独自の相関パスを入力します。 相関パスは、相関名で始まらなければなりません。その後に、ゼロ個以上のパス・フィールドを続けることができます。 例えば、以下のメッセージの相関ストリングは、名前フィールドで xxx になります。
        <library>
        	<name>xxx</name>
        	<more>
        		...
        	</more>
        </library>
        この例では、XPath を使用した相関パスは、$Body/library/name となります。

        変数 $Root$LocalEnvironment、および $Environment を使用して、メッセージのルート、ローカル環境、環境ツリー、およびメッセージ本体でパスを開始することができます。

      相関パスの評価結果が空ストリングになった場合、不一致のメッセージが、デフォルトの命名されていないメッセージ・コレクションに追加されます。

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

    • 相関パスからメッセージ内容のサブストリングをマッチングするには、相関パターンを使用してメッセージ内でマッチングするパターンを定義することができます。相関パターンには、ワイルドカード文字が 1 つと、オプションのテキストが含まれます。 メッセージ・コレクションの名前に使用される相関ストリングは、ワイルドカードと突き合わせるサブストリングの一部になります。 例えば、ファイル・ヘッダー内のファイル名 part1.dat が相関パスに含まれる場合、相関パターンは *.dat と指定され、相関ストリングは part1 になります。

      このプロパティーを設定すると、同じ相関ストリングをもつメッセージだけが同じメッセージ・コレクションに追加されます。 メッセージ・コレクションに追加された最初のメッセージが、そのメッセージ・コレクションに含まれる 他のすべてのメッセージで一致しなければならない相関ストリングを判別します。
      1. 「コレクション定義」表で、「相関パターン」列内の選択した入力ターミナルの行をクリックします。
      2. 相関パターンの値を入力します。 「相関パターン」には、ワイルドカード文字 * が 1 つ必要です。 このワイルドカード文字には、前後に他のテキストをオプションで指定することもできます。

      相関パターンがサブストリングに対するワイルドカードのマッチングに失敗すると、不一致のメッセージが、デフォルトの命名されていないメッセージ・コレクションに追加されます。

  5. Collector ノードに追加した入力ターミナルごとに、4 のステップを繰り返します。 異なる入力ソースに対して、異なるイベント・ハンドラーを構成できます。
注: さまざまなターミナルを対象にイベント・ハンドラー・プロパティーを慎重に設定し、予定されているメッセージの配送が Collector ノード上のターミナルに一致するようにします。
これでコレクション有効期限を構成することができます。コレクション有効期限の設定を参照してください。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

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


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac37730_