我正在使用带有依赖项的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批注的并发属性。
在两种情况下,我都看到完全相同的行为(我在Windows上运行Spring Boot应用程序):如果正在侦听的队列已经包含消息,但是当前未接收到任何消息,则只有一个线程开始处理来自队列。
如果然后我将一些新消息发送到队列,则实际上确实开始了其他线程来处理消息(因此,按照我的指定,它们的总数为4)。
是否要执行其他一些配置,以开始按指定的线程数处理队列中已经没有接收消息的消息?