spring rabbitmq为listener配置并发消费者数量

我们的项目原来插入队列的消息相对少,随着插入队列消息的不断增多,发现队列中消息堆积越来越多,最多时高大30多万条。
寻找问题瓶颈在于队列消费者比较少,每个监听器只有一个消费者,当队列消费的速度小于队列生产者插入队列中消息个数时就造成了队列消息堆积。
查找spring AMQP文档,我们使用的版本比较低是1.1.4,现在都是1.5的版本了。
此处说的是1.1.4我们现用的版本,文档地址:http://docs.spring.io/spring-amqp/docs/1.1.4.RELEASE/reference/htmlsingle/#containerAttributes
查看Message Listener Container Configuration发现listener-container有个属性concurrency就是用来为每个listener配置并发的消费者个数的。
原文如下:

concurrency The number of concurrent consumers to start for each listener.

所以只需简单的修改配置文件就可以了,如下

<rabbit:listener-container connection-factory="connectionFactory" acknowledge="manual" concurrency= "2">
        <rabbit:listener ref="messageListener" queue-names="some.queue"/>
</rabbit:listener-container>

你可能感兴趣的:(rabbitmq)