2016-09-02 15 views
0

JMSセッションインターフェイスには、ロールバックとリカバリの2つの同様のメソッドがあります。これらは、異なるackモードで使用されます。トランザクションでロールバックし、クライアントackでリカバリします。しかし、それ以外は、これら2つの方法の主な違いは何ですか?JMSセッションのロールバックとリカバリの違いは何ですか?

答えて

0

ロールバック:現在のクライアントが現在のメッセージを処理しないことをブローカに通知します。それは同じ(または他の)消費者に再配信または

が回復不能キューにメッセージをロールバックされます場合はブローカーのポリシーは、指示:ブローカは

+0

だから、存在する場合、現在のセッションにすべての未確認のメッセージを再配信するように指示します複数の消費者を1つの目的地に誘導する。ロールバックにより、ブローカは他のコンシューマにメッセージを再配信できます。しかし、リカバリにより、ブローカは常に現在の消費者にメッセージを再配信します。それは異なる行動の一つです。正しい? –

+0

connection - > session - >コンシューマオブジェクトの関係によって異なります。コンシューマが(同じ実行中のJVMプロセス内の)同じセッションの子である場合、ロールバック/リカバリはすべてのコンシューマに影響を与えます。コンシューマが異なるセッションの子である場合、ロールバック/リカバリは、特定のセッション+コンシューマ・ペアのためだけです。理にかなっている? –

関連する問題