2017-08-22 8 views
0

JMSを正しく理解すると、コンシューマは仲介者に肯定応答を送信し、仲介者はコンシューマがメッセージを受け入れたことを理解します。しかし、どのようにプロデューサーは、ブローカーがメッセージを受け入れたかどうか確認しますか?私はAPIで何の謝辞も見ません。プロデューサーはブローカーがメッセージを受け入れたことをどのように確認しますか?

メソッドはsyncまたはasyncを送信しますか?

答えて

0

肯定応答は消費者側の概念です。応答は、 がメッセージを受信したことをコンシューマがJMSプロバイダに通知したことを意味します。 プロデューサ側では、 肯定応答の唯一の概念は、 トピックpublisheのパブリッシュメソッドまたはキュー送信者の送信メソッドのいずれかが正常に呼び出されたことだけです。 メッセージに対して肯定応答が与えられた場合、それは、 プロバイダが同じメッセージを 質問で再度消費者に配信してはならないことを示し、また、JMSプロバイダは、そのメッセージに代わって保持しているリソース成功した配信の肯定応答の後にJMSキューが と考えられる場合、そのメッセージ がキューから削除されます)。リソースの消費を最小限に抑えるには、 コンシューマアプリケーションは、配信が成功した後に のようにすばやくメッセージを確認応答する必要があります。

ソース:http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/

+0

これは、完全な答えではありません。 **プロデューサー側では、肯定応答の唯一の概念は、トピックpublisheのパブリッシュメソッドまたはキュー送信側のsendメソッドの呼び出しが成功したことです。**このフレーズについて詳しく知りたいです。 – gstackoverflow

+0

メッセージが配信される(成功裏に送信または公開されている)、配信されます。つまり、これらのメソッドの呼び出し中にエラーまたは例外がスローされなかったことを意味します。クライアントがこのメッセージを受信したことを意味します。 。 –

+0

配信モードと永続モードとは関係がありませんか?トランザクション? – gstackoverflow

関連する問題