Я использую Spring Boot 2.1.3 с зависимостью
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
Я настроил одного потребителя Rabbit в своем проекте и попытался установить параллелизм как через application.properties:
spring.rabbitmq.listener.simple.concurrency = 4
и через атрибут параллелизма аннотации @RabbitListener.
В обоих случаях я вижу абсолютно одинаковое поведение (я запускаю приложение Spring Boot в Windows): если прослушиваемая очередь уже содержит сообщения, но в настоящий момент не получает их, только один поток начинает обрабатывать сообщения из очереди.
Если затем я отправляю несколько новых сообщений в очередь, действительно запускаются дополнительные потоки для обработки сообщений (так что их общее число равно 4 в моем случае, как указано).
Есть ли какая-либо дополнительная конфигурация, чтобы начать обработку сообщений, уже находящихся в очереди, которая в данный момент не получает сообщения, указанным числом потоков?