【问题标题】:Messages are getting stuck in activemq queue消息卡在 activemq 队列中
【发布时间】:2018-11-30 15:41:22
【问题描述】:

Activemq 版本:5.14.3
Java 1.7 版

一个队列有8个消费者,消息卡在部分消费者中。

在上图中,消息被卡在前 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新手,请帮我解决这个问题。

【问题讨论】:

    标签: java spring jms activemq


    【解决方案1】:

    我们在使用 DefaultMessageListenerContainer 的 CachingConnectionFactory 时遇到了类似的问题,从 DefaultMessageListenerContainer 中删除 CachingConnectionFactory 后问题得到解决。或者,您可以从 CachingConnectionFactory 禁用消费者缓存。请参阅此线程以获取更多信息Why DefaultMessageListenerContainer should not use CachingConnectionFactory?

    【讨论】:

      猜你喜欢
      • 2015-09-23
      • 2022-06-14
      • 2018-06-03
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2013-12-13
      • 2014-04-08
      • 1970-01-01
      相关资源
      最近更新 更多