WS-ReliableMessaging によるトランザクションのリカバリー可能メッセージング
ご使用の WS-ReliableMessaging アプリケーションが Web コンテナー内部で実行されていて、管理対象サービスの品質を使用している場合は、WS-ReliableMessaging を使用して、トランザクションのリカバリー可能メッセージングを提供できます。
このタスクについて
WS-ReliableMessaging のトランザクション・モデルは、次のとおりです。
- Web サービス・リクエスター・サイドでは、トランザクションはアプリケーションとローカルの管理対象ストアの間にあります。
- WS-ReliableMessaging プロトコルは、Web サービス・プロバイダー・サイドにメッセージを配信します。 この場合、2 番目の管理対象ストアとディスパッチされているアプリケーションの間で別のトランザクションが使用されます。
片方向メッセージ送信でのアウトバウンド (リクエスター) の場合、 プロパティー enableTransactionalOneWay が true に設定されていると、アプリケーション・スレッドによって現在保持されている任意のトランザクション・コンテキストで送信が実行されます。 (アウトバウンドの両方向メッセージ交換では、トランザクションはサポートされません)。
インバウンド (プロバイダー) の場合、 プロパティー inOrderDelivery が true に設定されていると、 トランザクションの下でアプリケーションにインバウンド・メッセージがディスパッチされます。 インバウンドの両方向メッセージ交換では、そのトランザクションの下で応答も生成されます。 応答は、そのトランザクションがコミットされるまで送信されません。
注:
WS-ReliableMessaging トランザクションは WS-AtomicTransactions プロトコルを使用しません。
これらの 2 つのプロトコルの関係は次のとおりです。
詳しくは、WS-AtomicTransactionsを参照してください。- トランザクションのためのリカバリー可能メッセージングを提供するために、WS-ReliableMessaging が管理対象ストアと一緒に使用されている場合は、WS-AtomicTransactions と WS-ReliableMessaging は相互に排他的です。
- メモリー内のストアを使用するように WS-ReliableMessaging が構成されているならば、両方向呼び出しのために、WS-AtomicTransaction が高信頼性メッセージング・ソースと高信頼性メッセージング宛先との間に流れることができる場合があります。 この状況において、WS-ReliableMessaging はネットワーク障害に対する保護を提供するのみであり、サーバー障害に対する保護は提供しません。
WS-ReliableMessaging を介してトランザクションのリカバリー可能メッセージングを提供するには、 WS-ReliableMessaging による Web サービスへの確実な配信の追加で説明されているステップをすべて実行し、 さらに以下の追加ステップを実行します。
手順
- アウトバウンド (リクエスター) 片方向メッセージ送信に対してトランザクション・メッセージングを使用可能にするには、 JAX-WS Web サービス・アプリケーションを開発する場合に、 jaxWS 要求コンテキスト・マップでプロパティー enableTransactionalOneWay を Boolean.TRUE (またはストリング true) に設定します。
- インバウンド (プロバイダー) の片方向および両方向のメッセージ交換に対してトランザクション・メッセージングを使用可能にするには、WS-ReliableMessaging ポリシーを構成する場合に、 管理コンソールを使用してオプション「送信順にメッセージを配信」を選択するか、 wsadmin ツールを使用して inOrderDelivery プロパティーを true に設定します。