You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Doug Harmon (JIRA)" <ji...@apache.org> on 2017/05/23 17:38:04 UTC

[jira] [Created] (AMQ-6682) AMQ client hangs when stopping Spring DefaultMessageListenerContainer

Doug Harmon created AMQ-6682:
--------------------------------

             Summary: AMQ client hangs when stopping Spring DefaultMessageListenerContainer
                 Key: AMQ-6682
                 URL: https://issues.apache.org/jira/browse/AMQ-6682
             Project: ActiveMQ
          Issue Type: Bug
          Components: JMS client
    Affects Versions: 5.14.5
         Environment: JDK 1.8.0_112
spring-jms-4.3.8.RELEASE.jar
activemq-client-5.14.5.jar
            Reporter: Doug Harmon


When using spring's DefaultMessageListenerContainer (DMLC) to consume messages from AMQ 5.14.5 server, and using prefetch of 0, spring container hangs when shutting down DMLC (e.g. on tomcat server shutdown). 

Applicable 2 threads from spring client app thread dump (logs on separate network so I cannot copy/paste):

"dmlc-1" ...
 at org.apache.activemq.FifoMessageDispatchChannel.dequeue(FifoMessageDispatchChannel.java:72)
 - locked <> (a java.lang.Object)
 at org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:486)
 at org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:648)

"http-bio-exec-11" 
   at org.springframework.jms.listener.DefaultMessageListenerContainer.doShutdown(DefaultMessageListenerContainer.java:571)
...


Applicable spring configuration file:

<bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
      <value>tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=0</value>
    </property>
  </bean>

<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
  <constructor-arg index="0" value="myQueue" />
</bean>

<bean id="dmlc" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsFactory" />
    <property name="destination" ref="queue" />
    <property name="messageListener" ref="myQueueConsumer" />
    <property name="sessionTransacted" value="true" />
</bean>





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)