3

Spring は知っていますが、JMS の初心者で、Spring JMS を読み始めました。Spring JMS doc Spring docから、次を読みました

The number of concurrent sessions/consumers to start for each listener.
Can either be a simple number indicating the maximum number (e.g. "5") 
or a range indicating the lower as well as the upper limit (e.g. "3-5").  
Note that a specified minimum is just a hint and might be ignored at 
runtime. Default is 1; keep concurrency limited to 1 in case of a topic 
listener or if queue ordering is important; consider raising it for 
general queues.

トピックリスナーの場合、同時実行数を1に制限する必要がある理由を理解したいですか? 1 ではなく 10 に増やしたらどうなるでしょうか?

4

1 に答える 1

3

各サブスクライバは、 にパブリッシュされた各メッセージのコピーを受け取りますTopic。アプリケーションが行うことは、異なるスレッドで同じメッセージを 10 回受信することだけであるため、複数のコンシューマを配置することはまったく意味がありません。

の場合Queue、キュー上のメッセージは 10 個のスレッドに分散されるため、同時に処理されます。これは確かに非常に一般的なシナリオであり、負荷分散です。

于 2013-05-08T18:50:34.277 に答える