Spring boot AMQP Параллельные слушатели выполняются последовательно? - PullRequest
0 голосов
/ 08 января 2020

У меня есть прослушиватель Spring AMQP, определенный следующим образом: -

@RabbitListener(queues = "spring-boot-durable", concurrency="10")
public void recieve(String message) {
   ....some code here
}

Теперь на портале управления rabbitmq я публикую 30 сообщений, когда вышеуказанная служба не работает, и запускаю службу слушателя.

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

Любая причина, почему это происходит, и какое-либо решение для этого?

1 Ответ

1 голос
/ 08 января 2020

Я полагаю, что на вас влияет prefetchCount - по умолчанию это 250, поэтому все сообщения отправляются одному потребителю.

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

...