私はActiveMQとの春の統合を使用しています。私はmaxConcurrentConsumers = 5のDefaultMessageListenerContainerを定義しました。 int-xml:validating-filterとint-xml:unmarshalling-transformerの後で、私はキューチャネルactionInstructionTransformedを定義しました。そして、私はこのキューチャネルのポーラーを持っています。アプリケーションを起動すると、ActiveMQコンソールで、接続が作成され、5つのセッション内にあることがわかります。春の統合複数のコンシューマが同時に処理しない
今、私はメソッドの入り口でログ文を持っている
@ServiceActivator(inputChannel = "actionInstructionTransformed", poller = @Poller(value = "customPoller")).
アノテーション付きメソッドと@MessageEndpoint
を持っています。各メッセージの処理は長い(数分)。私のログでは、thread-1
が処理を開始してから、thread-1
の出力しか見ることができません。 thread-1
が1メッセージの処理を終了した場合にのみ、thread-2
が次のメッセージの処理を開始することがわかります。クラス内に同期ブロックがありません。@MessageEndpoint
の注釈付きです。私はthread-1
、thread-2
などのメッセージを同時に処理することはできませんでした。
誰かが似たような経験をしていますか?
ありがとうございました。私はint:poller定義と 私は現在5つのスレッドを同時に処理しています。 –