保証付きイベント・デリバリー機能の使用可能化

以下の方法のいずれかで、JMS 対応コネクターに合わせて保証付きイベント・デリバリー機能を構成することができます。

JMS イベント・ストアを使用するコネクターへの保証付きイベント・デリバリー

JMS 対応コネクターが、そのイベント・ストアを実装するために JMS キューを使用する場合、コネクター・フレームワークは、「コンテナー」として振る舞い、JMS イベント・ストア (JMS ソース・キュー) を管理することができます。単一の JMS トランザクションにおいて、コネクターは、ソース・キューからメッセージを削除し、宛先キューに格納することができます。このセクションでは、JMS イベント・ストアを使用する JMS 対応コネクターの保証付きイベント・デリバリー機能の使用について、以下の情報を提供します。

JMS イベント・ストアを使用するコネクター用の機能の使用可能化

JMS イベント・ストアを使用する JMS 対応コネクターの保証付きイベント・デリバリー機能を使用可能にするには、コネクター構成 プロパティーを表 12 に示す値に設定します。

表 12. JMS イベント・ストアを使用するコネクター用の 保証付きイベント・デリバリーのコネクター・プロパティー
コネクター・プロパティー
DeliveryTransport JMS
ContainerManagedEvents JMS
PollQuantity イベント・ストアの 1 回のポーリングで処理するイベント数。
SourceQueue

コネクター・フレームワークがポーリングし、処理対象のイベントを検索する JMS ソース・キュー (イベント・ストア) の名前。

注:
ソース・キューと他の JMS キューは、同じキュー・マネージャーに属している必要があります。コネクターのアプリケーションが、別のキュー・マネージャーに格納されるイベントを生成する場合、リモート・キュー・マネージャーのリモート・キュー定義を指定する必要があります。その後、WebSphere MQ は、リモート・キューから、JMS 対応コネクターが統合ブローカーへの転送に使用するキュー・マネージャーに、イベントを転送することができます。リモート・キュー定義の設定方法の詳細については、IBM WebSphere MQ の資料を参照してください。

コネクター構成に加えて、JMS ストア内のイベントとビジネス・オブジェクトの間で変換を行うデータ・ハンドラーを構成する必要があります。このデータ・ハンドラー情報は、表 13 に要約されるコネクター構成プロパティーから構成されています。

表 13. 保証付きイベント・デリバリーのデータ・ハンドラー・プロパティー
データ・ハンドラー・プロパティー 必須
MimeType データ・ハンドラーが処理する MIME タイプ。この MIME タイプは、呼び出すデータ・ハンドラーを識別します。 はい
DHClass データ・ハンドラーを実装する Java クラスの絶対パス名 はい
DataHandlerConfigMOName MIME タイプとそのデータ・ハンドラーを関連付けるトップレベル・メタオブジェクト名 オプショナル

注:
データ・ハンドラー構成プロパティーは、他のコネクター構成プロパティーとともにコネクター構成ファイルにあります。

JMS イベント・ストアを使用するコネクターを、保証付きイベント・デリバリーを使用するように構成する場合、表 12 および 表 13 での説明に従って、コネクター・プロパティーを設定する必要があります。Connector Configurator Express ツールを使用して、これらのコネクター構成プロパティーを設定します。Connector Configurator Express は、その「標準のプロパティー」タブに表 12 のコネクター・プロパティーを表示します。 Connector Configurator は、「データ・ハンドラー」タブに表 13 のコネクター・プロパティーを表示します。

注:
Connector Configurator Express は、DeliveryTransport コネクター構成プロパティーが JMSContainerManagedEventsJMS に設定されている場合のみ、「データ・ハンドラー」タブのフィールドをアクティブにします。

Connector Configurator Express の詳細については、付録 B, Connector Configurator Expressを参照してください。

イベント・ポーリングの影響

ContainedManagedEventsJMS に設定することにより保証付きイベント・デリバリーを使用しているコネクターは、この機能を持たないコネクターとは若干異なる振る舞いをします。コンテナー管理イベントを提供するために、コネクター・フレームワークは次の手順でイベント・ストアをポーリングします。

  1. JMS トランザクションを始動します。
  2. イベント・ストアから JMS メッセージを読み取ります。

    イベント・ストアは、JMS ソース・キューとして実装されます。JMS メッセージはイベント・レコードを含んでいます。 JMS ソース・キュー名は、SourceQueue コネクター構成プロパティーから取得されます。

  3. データ・ハンドラーを呼び出して、イベントをビジネス・オブジェクトに変換します。

    コネクター・フレームワークは、表 13のプロパティーを使用して構成されたデータ・ハンドラーを呼び出します。

  4. JMS 宛先キューに、変換されたメッセージを送信します。
    JMS 宛先キューに送信されるメッセージは ビジネス・オブジェクトです。
  5. JMS トランザクションをコミットします。

    JMS トランザクションがコミットされると、そのトランザクションにおいて、JMS 宛先キューにメッセージが書き込まれ、JMS ソース・キューから削除されます。

  6. ステップ 1 から 5 を繰り返し実行します。 PollQuantity コネクター・プロパティーが繰り返しの回数を決定します。

重要:
ContainerManagedEvents プロパティーを JMS に設定したコネクターは、イベント・ポーリング時に pollForEvents() メソッドを 呼び出しません。コネクターの基本クラスに pollForEvents() メソッドが含まれている場合、このメソッドは、呼び出されません

非 JMS イベント・ストアを使用するコネクターへの保証付きイベント・デリバリー

JMS 対応コネクターが、JDBC イベント表、E メール・メールボックス、フラット・ファイルなどの イベント・ストア実装時に、非 JMS ソリューションを使用する場合、コネクター・フレームワークは、重複イベント除去を使用して、重複イベントが発生しないようにすることができます。このセクションでは、非 JMS イベント・ストアを使用する JMS 対応コネクターでの、保証付きイベント・デリバリー機能の使用について、以下の情報を提供します。

非 JMS イベント・ストアを使用するコネクターでの機能の使用可能化

非 JMS イベント・ストアを使用する JMS 対応コネクターで保証付きイベント・デリバリー機能を使用可能にするには、コネクター構成 プロパティーを表 14 に示す値に設定します。

表 14. 非 JMS イベント・ストアを使用するコネクター用の 保証付きイベント・デリバリーのコネクター・プロパティー
コネクター・プロパティー
DeliveryTransport JMS
DuplicateEventElimination true
MonitorQueue

コネクター・フレームワークが、処理済みビジネス・オブジェクトの ObjectEventId を 格納する JMS モニター・キューの名前。

保証付きイベント・デリバリーを使用するためにコネクターを構成する場合、表 14 での説明に従って、コネクター・プロパティーを設定する必要があります。Connector Configurator Express ツールを使用して、これらのコネクター構成プロパティーを設定します。Connector Configurator ツールは、「標準のプロパティー」タブにコネクター・プロパティーを表示します。Connector Configurator Express の詳細については、付録 B, Connector Configurator Expressを参照してください。

イベント・ポーリングの影響

DuplicateEventEliminationtrue に設定することにより保証付きイベント・デリバリーを使用しているコネクターは、この機能を持たないコネクターとは若干異なる振る舞いをします。コネクター・フレームワークは、JMS モニター・キューを使用してビジネス・オブジェクトを追跡し、重複イベント除去を行います。JMS モニター・キュー名は MonitorQueue コネクター構成プロパティーから取得されます。

アプリケーション固有のコンポーネントから (pollForEvents() メソッド の gotApplEvent() への呼び出しを通じて) ビジネス・オブジェクトを受信した後、コネクター・フレームワークは、(gotApplEvents() から受信した) 現行のビジネス・オブジェクトが、重複イベントであるかどうか判断する必要があります。この判断を行うために、コネクター・フレームワークは、JMS モニター・キューからビジネス・ オブジェクトを検索し、その ObjectEventId と現行ビジネス・オブジェクトの ObjectEventId とを 比較します。

JMS 対応コネクターで重複イベント除去をサポートするためには、コネクターの pollForEvents() メソッドに以下のステップが含まれている必要があります。

Copyright IBM Corp. 2004