トリガー・メッセージのランタイム・ワークフロー

Interact 実行時には次のトリガー・メッセージのワークフローが発生します。

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

項目 1 から 5 または 7 でエラーが発生した場合、そのオファーには FAIL というステータス・マークが付いてデータベースに残ります。エラーが発生しなかった場合、そのオファーは正常に配信されたと見なされます。

ステップ 6 でエラーが発生した場合、その処理はコンシューマーやゲートウェイの実装によって異なります。ただし、コンシューマーが同じアプリケーション・サーバーでも実行されている場合は、エラーが記録されます。

トリガー・メッセージのワークフロー