2013-05-07 3 views
1

Я знаю Spring, но я новичок в JMS и начал читать Spring JMS. Из док Spring JMS Spring doc, я прочитал следующееЗначение параллелизма в прослушивании темы JMS весной

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. 

Просто хочу понять, почему параллелизм должен ограничиваться в случае тематически слушателя? Если я увеличу его, скажу 10 вместо 1, что произойдет?

ответ

1

Каждый абонент получает копию каждого сообщения, опубликованного в теме. Не имеет смысла предлагать несколько потребителей, поскольку все ваше приложение будет делать это 10 раз, в разных потоках.

В случае очереди сообщения в очереди будут распределены между 10 потоками и, следовательно, будут обрабатываться одновременно. Это действительно очень распространенный сценарий - балансировка нагрузки.

Смежные вопросы