RabbitMQ并发消费者在春季靴子中



我正在使用@rabbitlistener注释和SimpleerAbbitListenerContainerFactory bean,用于并行执行兔消息,并以下面的方式设置Min和Max并发消费者:

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
    factory.setConnectionFactory(connectionFactory());
    factory.setConcurrentConsumers(MIN_RABBIT_CONCURRENT_CONSUMERS);
    factory.setMaxConcurrentConsumers(MAX_RABBIT_CONCURRENT_CONSUMERS);
    factory.setConsecutiveActiveTrigger(1);
    factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
    return factory;
}

最小限制为3,最大限制为10。通过此配置,即使队列中有12个消息,也只有3条消息被执行。

请告诉我配置有什么问题?

您可以使用RabbitMQ注释创建最大并发消费者

@RabbitListener(queues = "your-queue-name", concurrency = "4")
public void customCheck(Object requestObject) {
    // process
}

使用默认配置,如果其他消费者仍然很忙,将每10秒添加新的消费者。

此处描述了算法(以及要影响它的属性(。

相关内容

  • 没有找到相关文章

最新更新