我们可以在运行时重置兔子:春天的监听器 - 容器的并发吗?

时间:2014-12-07 13:21:36

标签: spring-amqp

我在spring的xml配置中有以下配置。

 <rabbit:listener-container id="testListenerContainer" connection-factory="connectionFactory" prefetch="1" concurrency="10">
        <rabbit:listener ref="testListener" queues="${testInputQueueName}" />
    </rabbit:listener-container>

如果我想减少并发性,是否可以手动更改并发性,让spring重新加载配置以便它可以减少并发性?如果可能,怎么做?

1 个答案:

答案 0 :(得分:1)

是的,您可以在运行时执行此操作。请参阅SimpleMessageListenerContainer setConcurrentConsumerssetMaxConcurrentConsumers。是的,SimpleMessageListenerContainer围绕一组正在运行的BlockingQueueConsumer更改其内部状态。

只有您需要id SimpleMessageListenerContainer才能将其注入您的控制服务。在你的情况下,它是testListenerContainer