我正在使用SimpleRabbitListenerFactory,并试图动态减少/增加无法实现的concurrentConsumers。任何人都可以帮助我。谢谢
代码如下:
{{1}}
当消息计数超过6000时,它将进入changeCOnsumers方法,但消费者不会更改为5.
答案 0 :(得分:2)
在应用程序初始化期间使用工厂来创建侦听器容器对象;稍后更改其属性不会更改已创建的容器的属性。
您必须更改容器本身的属性。
您可以使用RabbitListenerEndpointRegistry
bean访问容器;致电getListenerContainers
并对其进行迭代(或使用它来获取单个容器id
)。
将MessageListenerContainer
投射到SimpleMessageListenerContainer
以更改其属性。