メディエーションのトランザクション性
メディエーション・ハンドラーは、グローバル・トランザクション内で 稼働するように構成することができます。
- メッセージの仲介およびルーティングを単一トランザクションで行 うように調整する必要がある。
- メディエーション・ハンドラー・リスト内の複数のメディエーション・ ハンドラーを組み合わせて、単一トランザクションへと調整する必要がある。
「グローバル・トランザクション」プロパテ ィーを設定することにより、他のリソース・マネージャーが所有するリソースにアクセスするメディエーションとメッセージング・エンジンとの間のトラ ンザクションの保全性が確保されます。
グローバル・トランザクションには、メディエーションの継続時間にわたって バス内で実行されるすべてのメディエーション操作が含まれます。グローバル・トランザクションは、 メディエーションが処理を完了すると終了します。
「グローバル・トランザクション」プロパテ ィーが True に設定されている場合、 メディエーションはメッセージに対するすべての操作を実行し 、False に設定されている場合は、何も実行しません。
メディエーション・トランザクションをロールバックすると、 トランザクションの変更もすべてロールバックされます。トランザクションがロールバックされると、 仲介されたメッセージはバス宛先の仲介前の部分に残り、仲介が再度可能になります。メッセージに割り当てられた再デリバリー・カウン トは、メディエーション・トランザクションがロールバックされるたびに増分します。再デリバリー・カウントがバス宛先に構成された限界を超えた場合、メッセージは例外宛先に送信されます。
メディエーション・ハンドラーのトランザクション・コンテキストを 指定するには、管理コンソールを使用して「グローバル・トラン ザクション」プロパティーを TRUE に 設定します。デフォルト値は False であり、グローバル・ トランザクションは開始しません。また、グローバル作業単位の外部で 実行するように個々のメッセージング操作を構成することもできます。