ユーザー出口は、メッセージ・フローを移動するデータを追跡するための、C で作成されたユーザー提供のカスタム・ソフトウェアです。
ユーザー提供の関数を起動できるのは、メッセージのライフ・サイクル中にメッセージ・フローを通してメッセージが送られている間の特定の時点においてであり、またこの関数は、ユーティリティー関数を呼び出して、フロー内の点に関する情報およびメッセージ・アセンブリーの内容を照会できます。
ユーザー出口は、以下の 1 つ以上のイベントが発生したときに呼び出されます。
- 作業単位 (UOW) またはトランザクション (COMMIT または ROLLBACK) の終了
- メッセージが 2 つのノードの間で受け渡しされたとき。
- メッセージが入力ソースからデキューされたとき。
ここに示されている基本的なメッセージ・フローでは、以下の 2 つのレベルでメッセージを追跡することができます。
トランザクション・レベルでは、以下のイベントを追跡できます。
- フローへのメッセージの読み取り
- トランザクションの完了。
ノード・レベルでは、以下のイベントを追跡できます。
- ノード間でのメッセージの引き渡し
- 特定のノードでの処理の完了。
したがって、4 つの異なるタイプのイベントを追跡でき、これらのイベントは以下の順序で発生します。
- メッセージが入力ソースからデキューされる (フローへの読み取り)。
- メッセージが処理用にノードに伝搬される。
- ノード処理が完了する。
- トランザクションの終了。