ユーザー出口の開発

ユーザー出口により、ユーザー提供のカスタム・ソフトウェアが、WebSphere Message Brokers 内の メッセージ・フローで渡されるデータを追跡できます。

ユーザー提供の関数は、メッセージがメッセージ・フローで渡されるときに、 そのメッセージのライフ・サイクルの特定の時点で呼び出すことができ、また、ユーティリティー関数を呼び出して、フロー内の点に関する情報およびメッセージ・アセンブリーの内容を 照会できます。

ユーザー出口は、以下の 1 つ以上のイベントが発生したときに 呼び出されます。

基本的なメッセージ・フロー
上記の基本的なメッセージ・フローでは、以下の 2 つのレベルでメッセージを追跡できます。
トランザクション・レベルでは、以下のイベントを追跡できます。
ノード・レベルでは、以下のイベントを追跡できます。
このようにイベントのタイプは 4 つあり、 以下の順序で発生します。
  1. メッセージが入力ソースからデキューされる (フローへの読み取り)
  2. メッセージが処理用にノードに伝搬される
  3. ノードが処理を完了する
  4. トランザクションが終了する。

基本的なメッセージ・フロー・イベント

上記の図では例として MQInput ノードを使用していますが、関数は、ユーザー定義ノードも含め、 すべての入力ノードに適用されます。ただし、組み込みノードと ユーザー定義ノードは、ユーザー出口の呼び出し方法が 少し異なります。組み込み入力ノードの場合、 データを外部ソースから読み取った後、できるだけ早期に ユーザー出口が呼び出されます。ユーザー定義の入力ノードの場合、 ノードがメッセージを伝搬する前にユーザー出口が呼び出されます。

上記の例では、トランザクションの終了時にイベント 4 が実行されます。 トランザクションが完了した後にユーザー出口が呼び出されるため、ユーザー出口の処理は そのトランザクションの一部ではありません。トランザクション処理がフローによって 完了されなかった場合でも、ユーザー出口は呼び出されます。メッセージ・フロー・プロパティー 「コミット・カウント」が 1 より大きい場合は、イベント 1 とイベント 4 の間に多対 1 の関係があります。 これは、特定の入力ノードに固有のシナリオにも当てはまることがあります。例えば、MQInputNode が 「メッセージ・グループによるコミット」プロパティーを選択して 構成されている場合が該当します。

任意の数のこれらのイベントを追跡するためのユーザー出口を作成できます。これらのイベントごとに、 以下のデータがユーザー出口で使用可能です。特記されていない限り、 アクセスはすべて読み取り専用です。

複数のユーザー出口を登録できます。その場合は、定義された順序で 呼び出されます (mqsichangeflowuserexits コマンドを参照してください)。ユーザー出口によって メッセージ・アセンブリーに行われたすべての変更は、以降のユーザー出口からも可視です。

ユーザー出口が呼び出されるときに、以下の情報を照会できます。

ユーザー出口は動的に登録でき、構成を再デプロイする 必要はありません。

関連タスク
ユーザー出口の開発
ユーザー出口のデプロイ
関連資料
mqsicreatebroker コマンド
mqsichangebroker コマンド
mqsichangeflowuserexits コマンド
mqsireportflowuserexits コマンド
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac02140_