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)