イベント通知では、アダプターは、WebSphere Commerce がキューに書き込んだイベントを検出します。
アダプターは、pollForEvents() メソッドを使用して、一定の間隔でキューをポーリングしてメッセージを検索します。メッセージが見つかると、アダプターはキューからそのメッセージを取得し、調べて、フォーマットを判断します。フォーマットがアダプターの静的メタオブジェクトで定義されている場合、アダプターはメッセージ本体と、そのフォーマットに関連付けられているビジネス・オブジェクトの新しいインスタンスの両方を、構成されているデータ・ハンドラーに渡します。データ・ハンドラーでは、ビジネス・オブジェクトが生成されて、動詞が指定されるはずです。フォーマットが静的メタオブジェクトで定義されていない場合は、アダプターはメッセージ本体だけをデータ・ハンドラーに渡します。データ・ハンドラーでは、そのメッセージに対する適正なビジネス・オブジェクトが判別され、作成され、生成されるはずです。イベント障害のシナリオについては、"エラー処理"を参照してください。
アダプターは、メッセージを処理するときに、まず入力キューに対するトランザクション・セッションを開きます。このトランザクション方法では、わずかですが、アダプターがビジネス・オブジェクトを正常に実行依頼しても、キューにトランザクションをコミットできないと、ビジネス・オブジェクトがコラボレーションに 2 回引き渡される可能性があります。この問題を回避するため、アダプターはすべてのメッセージを処理中キューに移動します。処理が完了するまで、メッセージはそこに保持されます。アダプターが処理中に予想外のシャットダウンを起こしても、メッセージは処理中キューに残り、オリジナルの入力ファイルに復元されることはありません。
初期化時に、アダプターは、処理中キュー内にコネクターのシャットダウンなどが原因で処理が完全に終了していないメッセージがないかどうかを確認します。コネクター構成プロパティー InDoubtEvents で、このようなメッセージのリカバリーを処理する 4 つのオプション (「始動時に異常終了 (fail on startup)」、「再処理 (reprocess)」、「無視 (ignore)」、または「ログ・エラー (log error)」) のいずれかを指定することができます。
「始動時に異常終了 (fail on startup)」オプションを指定した場合、初期化時に処理中キュー内にメッセージが見つかると、アダプターはエラーをログに記録して、即時にシャットダウンします。メッセージを調べて、これらのメッセージを完全に削除するか、別のキューに移動するか、どちらか適切なアクションを取ることは、ユーザーまたはシステム管理者の責任となります。
「再処理 (reprocessing)」オプションを指定した場合、初期化時に処理中キュー内にメッセージが見つかると、アダプターは次のポーリング時にまずこれらのメッセージを処理します。処理中キュー内のメッセージの処理がすべて終了したら、アダプターは入力キューのメッセージの処理を開始します。
「無視 (ignore)」オプションを指定した場合、初期化時に処理中キュー内にメッセージが見つかると、アダプターはそれらを無視します。ただし、シャットダウンはしません。
「ログ・エラー (log error)」オプションを指定した場合、初期化時に処理中キュー内にメッセージが見つかると、アダプターはエラーをログに記録します。ただし、シャットダウンはしません。
コネクター・プロパティー ArchiveQueue で、有効なキューが指定されている場合、アダプターは、正常に処理されたすべてのメッセージのコピーをアーカイブ・キューに入れます。ArchiveQueue が定義されていない場合は、メッセージは処理後に廃棄されます。アンサブスクライブされたメッセージやエラーが発生したメッセージのアーカイブについては、エラー処理を参照してください。