2014-12-07 42 views
0

我在spring的xml配置中有以下配置。我们可以在运行时为兔子重置并发:listener-container在spring吗?

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

如果我想减少并发性,是可以手动更改并发,让春天重装配置,以便它可以减少并发?如果可能,怎么做?

回答

1

是的,你可以在运行时做到这一点。见SimpleMessageListenerContainersetConcurrentConsumerssetMaxConcurrentConsumers。是的,SimpleMessageListenerContainer围绕一组运行BlockingQueueConsumer更改其内部状态。

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