spring rabbit amqp @RabbitListener 配置消费者的最小和最大数量

spring rabbit amqp @RabbitListener configure min and max number of consumers

我正在使用 spring amqp rabbit @RabbitListener 注解 来自:工件 spring-rabbit-1.7.1.RELEASE 我想知道是否有办法为每个队列配置消费者数量? 我一直在挖掘文档,但一无所获,有没有办法在相关容器中为每个队列配置消费者数量? 提前致谢。

通过container factory bean as shown in the documentation配置并发。

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
    factory.setConnectionFactory(connectionFactory());
    factory.setConcurrentConsumers(3);
    factory.setMaxConcurrentConsumers(10);
    return factory;
}

如果您正在使用 Spring Boot,它会为您创建工厂 bean,您可以使用属性配置它们。

如果您想要固定数量的消费者,只需省略 max

如果您想为每个侦听器设置不同的设置,则每组设置需要一个不同的工厂。然后,您将在其 containerFactory 属性.

中为 @RabbitListener 引用特定的容器工厂