0

DMLC と JMSTemplate のトランザクションに関していくつか質問があります。

  1. トランザクションを使用していない場合、Spring DMLC はコールバックを使用してメッセージを非同期に受信しますか?

  2. DMLC は、トランザクション セッションの使用中にメッセージを非同期で受信しますか。(sessionTransacted を true に設定します)。sessionTransacted を true に設定した後の動作は何ですか?

3、消費者の見通しからのAUTO_ACKとSESSION_TRANSACTEDモードの違いは何ですか。AUTO_ACK モードでは、DMLC はメッセージの受信後に承認をブローカーに送信します。同様に、SESSION_TRANSACTED モードでは、DMLC は各メッセージを受信した後にコミットします。パフォーマンスの点でどちらがより良い方法で、違いは何ですか?

4 JMSTemplate メッセージの送信は常に同期的ですか。非永続的なメッセージをトピックに送信している場合でも?

ありがとう、アヌジ

4

1 に答える 1

0

DMLC をトランザクションなしで使用することはお勧めしません。SMLC を使用します。

トランザクションを使用する場合、コンテナはスレッドが戻るときにセッションをコミットします。はい、非同期で処理されます。

auto ack と DMLC を使用すると、 receive() が発生するとすぐに (そしてリスナーが呼び出される前に) セッションが ack されるため、トランザクションに最適です。

  1. これは JMS クライアント ライブラリの機能ですが、通常はそうです。特にトランザクションを使用する場合。
于 2014-06-17T17:39:00.420 に答える