コネクターでイベント引き渡しを処理できるようにするには、データベース内にイベント通知機構をセットアップする必要があります。これを行うには、次の操作を実行する必要があります。
以下のセクションでは、イベント表およびアーカイブ表の作成と構成に関する情報を提供します。
コネクターは、イベント表を使用して選出するイベントをキューに入れます。ArchiveProcessed プロパティーを true または値なしに設定した場合、コネクターは、イベント表のイベントの状況を更新した後、アーカイブ表を使用してそれらのイベントを保管します。
コネクターは、イベントごとに、ビジネス・オブジェクト名、動詞、およびキーをイベント表から取得します。コネクターは、これらの情報を使用して、アプリケーション内の完全なエンティティーを検索します。イベントの初回記録後にそのエンティティーが変更された場合、コネクターは、その最初に記録されたイベントとそれ以後の変更のすべてを取得します。つまり、エンティティーの作成後、コネクターがイベント表からそのエンティティーを取得する前に更新が行われた場合には、コネクターは、これらの両方のデータ変更を一度の検索で取得します。
コネクターによって処理されるどのイベントについても、以下の 3 とおりの結果が考えられます。
コネクターがイベントを選出した後、それらのイベントがイベント表から削除されなければ、それらのイベントは、イベント表内で不必要にスペースを使用することになります。しかし、これらのイベントが削除されると、未処理のイベントがすべて失われ、イベント処理の監査が不可能になります。このため、アーカイブ表を作成し、ArchiveProcessed プロパティーを true に設定しておいてください。これにより、イベント表からイベントが削除されると、必ず、コネクターによってアーカイブ表にそのイベントが挿入されます。
イベントとアーカイブの処理を構成するには、構成プロパティーを使用して、以下の情報を指定する必要があります。
また、EventOrderBy プロパティーの値を指定して、イベントの処理順序を指定することも可能です。これらのプロパティーおよび他の構成プロパティーに関する詳細については、付録 A, コネクターの標準構成プロパティーおよび 表 7 を参照してください。
デフォルトでは、イベント・キュー表の名前は xworlds_events であり、アーカイブ・キュー表の名前は xworlds_archive_events です。
コネクターを要求の処理のみに使用するには、コネクターを始動するときに -fno オプションを使用します。また、EventTableName の値を null (ストリング) に設定します。
使用ドライバーが Java クラス DatabaseMetaData をサポートしておらず、コネクターがイベント表とアーカイブ表の存在を確認しないようにする必要がある場合には、CheckForEventTableInInit の値を false に設定して、CheckForEventTableInInit を使用不可にします。デフォルトでは true です。この値は false に設定しないことをお勧めします。
DB2 データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。
Microsoft SQL Server データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。
Oracle データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。
OS/400 DB2 データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするための SQL スクリプトには、次のものがあります。
これらのファイルは、次のディレクトリーにあります。
DBA、またはコネクターのインプリメント担当者には、これらのスクリプトを変更して、インストールおよび照会最適化に関する特定の要件に適合させることを推奨します。例えば、これらのスクリプトでは、表上に索引は作成されません。照会最適化プログラムのパフォーマンスを向上させるための索引作成は、コネクターのインプリメント担当者が行わなければなりません。
表 5 に、イベント表とアーカイブ表の列を示します。
名前 | 説明 | 型 | 制約 |
---|---|---|---|
event_id | イベントの内部 ID | NUMBER | 基本キー |
connector_id | イベントの宛先コネクターの固有 ID。この値は、複数のコネクターが同一の表に対してポーリングする場合、重要です。 | VARCHAR |
|
object_key | ビジネス・オブジェクトの基本キー。キーは、name_value ペア、またはコロンなどの構成可能な区切り文字で区切られた一連のキー (例: 1000065:10056:2333) として表すことができます。詳細については、EventKeyDel プロパティーを参照してください。 | VARCHAR | null 以外 |
object_name | ビジネス・オブジェクト名 | VARCHAR | null 以外 |
object_verb | イベントに関連付けられている動詞 | VARCHAR | null 以外 |
event_priority | コネクターがイベントを優先順位ベースで取得する場合に使用する、イベントの優先順位 (最高は 0、最低は n)。コネクターが、この値を使用して、優先順位を上下させることはありません。 | NUMBER | null 以外 |
event_time | イベントの発生日時 | DATETIME | デフォルト値は現在の日時 (アーカイブ表では、イベントの実際の発生時刻) |
archive_time | イベントがアーカイブされた日時 (アーカイブ表のみ) | DATETIME | アーカイブ日時 |
event_status | -2 (統合ブローカーへのイベント送信時のエラー) | NUMBER | null 以外 |
| -1 (イベント処理時のエラー) |
|
|
| 0 (ポーリング可能) |
|
|
| 1 (統合ブローカーに送信) |
|
|
| 2 (ビジネス・オブジェクトに対するサブスクリプションなし) |
|
|
| 3 (処理中)。この状況はイベント表でのみ使用され、アーカイブ表では使用されません。 |
|
|
event_comment | イベント・ストリングまたはエラー・ストリングの説明 | VARCHAR |
|