动态更改并发消费者 - rabbitMQ

时间:2018-03-26 04:07:10

标签: spring-rabbitmq

我正在使用SimpleRabbitListenerFactory,并试图动态减少/增加无法实现的concurrentConsumers。任何人都可以帮助我。谢谢

代码如下:

{{1}}

当消息计数超过6000时,它将进入changeCOnsumers方法,但消费者不会更改为5.

1 个答案:

答案 0 :(得分:2)

在应用程序初始化期间使用工厂来创建侦听器容器对象;稍后更改其属性不会更改已创建的容器的属性。

您必须更改容器本身的属性。

您可以使用RabbitListenerEndpointRegistry bean访问容器;致电getListenerContainers并对其进行迭代(或使用它来获取单个容器id)。

MessageListenerContainer投射到SimpleMessageListenerContainer以更改其属性。