Activemq版本:5.14.3
Java 1.7版
在上面的图像中,消息停留在前4个使用者的调度队列中。
这是我的弹簧配置文件。
<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>
我是activemq的新手,请帮助我解决此问题。
答案 0 :(得分:2)
我们在使用带有DefaultMessageListenerContainer的CachingConnectionFactory时遇到了类似的问题,从DefaultMessageListenerContainer中删除了CachingConnectionFactory后,该问题得以解决。或者,您可以从CachingConnectionFactory禁用使用者缓存。有关更多信息,请参考此线程Why DefaultMessageListenerContainer should not use CachingConnectionFactory?。