Glassfish の Web サービス内で実行される JMS アプリケーションを作成しました (これは JBoss にもデプロイされています)。
Apache ActiveMQ と Glassfish 内部 JMS ブローカー (openMQ?) の両方で試してみました
これがなぜ起こっているのかを確認する方法はありますか?これが JmsTemplate のデフォルトの動作である場合、JMS プロデューサーとコンシューマーを正しい方法で開発するための代替手段は何ですか?
ありがとう!
Glassfish の Web サービス内で実行される JMS アプリケーションを作成しました (これは JBoss にもデプロイされています)。
Apache ActiveMQ と Glassfish 内部 JMS ブローカー (openMQ?) の両方で試してみました
これがなぜ起こっているのかを確認する方法はありますか?これが JmsTemplate のデフォルトの動作である場合、JMS プロデューサーとコンシューマーを正しい方法で開発するための代替手段は何ですか?
ありがとう!
春の JMSTemplate は、メッセージを受信または送信するたびに、すべてのリソース (接続、コンシューマー、プロデューサーなど) を閉じて作成します。プールされた接続、セッション、コンシューマーを使用していない場合、これはパフォーマンスの大きなボトルネックになります。
そうは言っても、JMSTemplate は毎回接続を閉じる必要があります。
はい、接続が閉じられます。execute メソッドのコードを参照してください。
JmsUtils.closeSession(sessionToClose);
ConnectionFactoryUtils.releaseConnection(
conToClose, getConnectionFactory(), startConnection);