キュー内のメッセージを処理するコンシューマーを 1 つだけ作成するユース ケースがあります。メッセージ プロセッサは、確認応答する前に一定数のメッセージを蓄積します。非同期の方法でメッセージを受信し、Transacted セッションを使用します。メッセージのサイズは非常に小さいです。
アクティブ MQ は、一定数のメッセージが送信されると、単一のコンシューマーへのメッセージの送信を停止し、確認応答を待ちます。consumer.prefetchSize、consumer.maximumPendingMessageLimitなどのソリューションを試しました。しかし、何も機能していません。サブスクライバーが 1 つだけの永続的なトピックで同様の使用例を試したところ、正常に動作しました。
同様のactivemqの問題/動作に遭遇した人はいますか? さまざまなフォーラムで言及されている多くのことを試しましたが、どれも役に立ちませんでした.
Activemq バージョン: ActiveMQ 5.6.0
キュー構成:永続キュー
コンシューマ:非同期で、確認モードとしてトランザクション セッションを使用
どんな助けや提案も大歓迎です。ありがとう。