以下の方法のいずれかで、JMS 対応コネクターに合わせて保証付きイベント・デリバリー機能を構成することができます。
JMS 対応コネクターが、そのイベント・ストアを実装するために JMS キューを使用する場合、コネクター・フレームワークは、「コンテナー」として振る舞い、JMS イベント・ストア (JMS ソース・キュー) を管理することができます。単一の JMS トランザクションにおいて、コネクターは、ソース・キューからメッセージを削除し、宛先キューに格納することができます。このセクションでは、JMS イベント・ストアを使用する JMS 対応コネクターの保証付きイベント・デリバリー機能の使用について、以下の情報を提供します。
JMS イベント・ストアを使用する JMS 対応コネクターの保証付きイベント・デリバリー機能を使用可能にするには、コネクター構成 プロパティーを表 12 に示す値に設定します。
表 12. JMS イベント・ストアを使用するコネクター用の 保証付きイベント・デリバリーのコネクター・プロパティー
コネクター・プロパティー | 値 |
---|---|
DeliveryTransport | JMS |
ContainerManagedEvents | JMS |
PollQuantity | イベント・ストアの 1 回のポーリングで処理するイベント数。 |
SourceQueue |
コネクター・フレームワークがポーリングし、処理対象のイベントを検索する JMS ソース・キュー (イベント・ストア) の名前。
|
コネクター構成に加えて、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 の詳細については、付録 B, Connector Configurator Expressを参照してください。
ContainedManagedEvents を JMS に設定することにより保証付きイベント・デリバリーを使用しているコネクターは、この機能を持たないコネクターとは若干異なる振る舞いをします。コンテナー管理イベントを提供するために、コネクター・フレームワークは次の手順でイベント・ストアをポーリングします。
イベント・ストアは、JMS ソース・キューとして実装されます。JMS メッセージはイベント・レコードを含んでいます。 JMS ソース・キュー名は、SourceQueue コネクター構成プロパティーから取得されます。
コネクター・フレームワークは、表 13のプロパティーを使用して構成されたデータ・ハンドラーを呼び出します。
JMS トランザクションがコミットされると、そのトランザクションにおいて、JMS 宛先キューにメッセージが書き込まれ、JMS ソース・キューから削除されます。
JMS 対応コネクターが、JDBC イベント表、E メール・メールボックス、フラット・ファイルなどの イベント・ストア実装時に、非 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を参照してください。
DuplicateEventElimination を true に設定することにより保証付きイベント・デリバリーを使用しているコネクターは、この機能を持たないコネクターとは若干異なる振る舞いをします。コネクター・フレームワークは、JMS モニター・キューを使用してビジネス・オブジェクトを追跡し、重複イベント除去を行います。JMS モニター・キュー名は MonitorQueue コネクター構成プロパティーから取得されます。
アプリケーション固有のコンポーネントから (pollForEvents() メソッド の gotApplEvent() への呼び出しを通じて) ビジネス・オブジェクトを受信した後、コネクター・フレームワークは、(gotApplEvents() から受信した) 現行のビジネス・オブジェクトが、重複イベントであるかどうか判断する必要があります。この判断を行うために、コネクター・フレームワークは、JMS モニター・キューからビジネス・ オブジェクトを検索し、その ObjectEventId と現行ビジネス・オブジェクトの ObjectEventId とを 比較します。
JMS 対応コネクターで重複イベント除去をサポートするためには、コネクターの pollForEvents() メソッドに以下のステップが含まれている必要があります。
アプリケーションは、イベント・ストア内のイベント・レコードを一意的に識別するためにイベント ID を生成します。イベントが InterChange Server Express に送信されたが、このイベント・レコードの状態が変更可能になる前にコネクターがダウンした場合、そのイベント・レコードは 「処理中 (In-Progress)」の状況でイベント・ストアに残ります。コネクターは、バックアップの際、すべての「処理中 (In-Progress)」イベントをリカバリーしなければなりません。コネクターはポーリング再開時に、イベント・ストアに残っているイベント・レコードのビジネス・オブジェクトを生成します。しかし、すでに送信されたビジネス・オブジェクトと新しく生成されたビジネス・オブジェクトは、その ObjectEventId として同じイベント・レコードを持つため、コネクター・フレームワークは、新しいビジネス・オブジェクトを重複と判断して、InterChange Server Express に送信しない可能性があります。
コネクターが、始動時に、「処理中 (In-Progress)」イベントを「ポーリング準備 (Ready- for-Poll)」状況に変更しない限り、ポーリング・メソッドは、そのイベント・レコードを再処理しません。