トリガー・メッセージのランタイム・ワークフロー
Interact 実行時には次のトリガー・メッセージのワークフローが発生します。
- イベントまたはイベント・パターンがトリガーされると、メッセージ・ハンドラーが起動します。メッセージ・ハンドラーはイベント・アクションの一種です。
- メッセージ・ハンドラーはメッセージの資格条件を評価します。その結果により、配信されるオファーと、そのオファーを送信するためのアウトバウンド・ゲートウェイの候補が決まります。
- 選択されたチャネルを使ってオファーが後で配信されるように構成されている場合、オファーは UACI_TriggeredMessages テーブルに保持されます。
- それ以外の場合、オファーは即時に配信されます。
- メッセージ・ハンドラーは次にチャネルに基づいてディスパッチャーを決定します。
- オファー情報とセッション・データはこのディスパッチャーに渡されます。
- ディスパッチャーは選択されたゲートウェイのキューにオファーを追加します。
- コンシューマー側 (ディスパッチャーが JMS キューである場合、これは別の JVM で実行されるとは限らない) がオファーを受信すると、オファーを送信するためにゲートウェイが呼び出されます。
- スレッドは、遅延しているオファーがないかデータベースを定期的にチェックし、配信用にオファーを読み込み、ステップ 2 で決定されたチャネルに対応するディスパッチャーにオファーを送信します。
項目 1 から 5 または 7 でエラーが発生した場合、そのオファーには FAIL というステータス・マークが付いてデータベースに残ります。エラーが発生しなかった場合、そのオファーは正常に配信されたと見なされます。
ステップ 6 でエラーが発生した場合、その処理はコンシューマーやゲートウェイの実装によって異なります。ただし、コンシューマーが同じアプリケーション・サーバーでも実行されている場合は、エラーが記録されます。