Reputation: 221
Activemq version: 5.14.3
Java version 1.7
There are 8 consumers for one queue, messages are stuck in some of the consumers.
In the above image messages are stuck in dispatched queue of first 4 consumer.
Here is my spring configuration file.
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:(tcp://localhost:61616,tcp://localhost:61617)?randomize=false"/>
</bean>
<bean id="cachingFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="connectionFactory"/>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="defaultDestinationName" value="queue/WebHookProcessingQueue"/>
</bean>
<bean id="myMessageSender" class="com.omoto.jms.sender.MyMessageSender">
<property name="jmsTemplate">
<ref bean="jmsTemplate"/>
</property>
</bean>
<bean id="responseJsonMessageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="cachingFactory"/>
<property name="destinationName" value="/queue/ResponseJsonProcessingQueue"/>
<property name="concurrentConsumers" value="8"/>
<property name="messageListener" ref="responseJsonServiceListner"/>
</bean>
I am new to activemq, please help me to solve this problem.
Upvotes: 3
Views: 5883
Reputation: 195
We had similar issue with CachingConnectionFactory with DefaultMessageListenerContainer, the issue is resolved after removing the CachingConnectionFactory from DefaultMessageListenerContainer. Alternatively you can disable consumer caching from CachingConnectionFactory . Refer this thread for more info Why DefaultMessageListenerContainer should not use CachingConnectionFactory?.
Upvotes: 3