I have got the same issue. Once all the concurrent consumers have consumed there 1st message it stops receiving messages. I see the messages on the queues and i am constantly publishing them to the exchange.
I when i have 5 concurrent consumers i can see 5 messages consumed and it stops then. When i increase my concurrent consumers to 10 it consumes 10 messages and stops receiving any more messages.
I see the threads are waiting for new messages but non is getting pulled from the queue. I have a standard configuration as follows.
Code:
<bean id="accountMsgListenerContainer" class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="queueName" value="#{account.name}" />
<property name="concurrentConsumers" value="5" />
<property name="messageListener" ref="accountMsgListenerAdapter" />
<property name="autoAck" value="true"/>
<property name="errorHandler" ref="errorHandler" />
</bean>
<bean id="accountMsgListenerAdapter" class="org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="accountMessageHandler" />
<property name="defaultListenerMethod" value="handleMessage"/>
<property name="messageConverter" ref="simpleMessageConverter"/>
</bean>
Please let me know your thoughts? any fix for this would be greatly appreciated.