[
https://issues.apache.org/jira/browse/AMQ-5966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14904881#comment-14904881
]
Daniel Kulp commented on AMQ-5966:
----------------------------------
If you add:
{code:java}
factory.setNonBlockingRedelivery(true);
{code}
to the ActiveMQConnectionFactory, then the test would pass as it wouldn't block
during the delivery and would head new a new session. Thus, there is a
workaround. (although I don't know what other behavior changes that would
introduce)
> ActiveMQ client hangs after rollback of a transacted JMS session
> ----------------------------------------------------------------
>
> Key: AMQ-5966
> URL: https://issues.apache.org/jira/browse/AMQ-5966
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.12.0
> Environment: Reproduced standalone under Linux, but any environment
> should be affected.
> Reporter: Andreas Mattes
> Attachments: AMQRollbackTest.java
>
>
> The ActiveMQ JMS client is accessed through the ConnectionConsumer protocol.
> A ServerSessionPool is provided which creates ServerSessions with transacted
> JMS sessions. Up to ActiveMQ 5.11.2, everything has worked fine, but with
> ActiveMQ 5.12.0, after rollback of a sesseion, the application hangs until
> JMS re-connect happens. Further investigation reveals that with ActiveMQ
> 5.11.2 and earlier, after rollback a new ServerSession is taken from the pool
> and loaded with the message of the rolled back session. With ActiveMQ 5.12.0,
> however, the MessageListener of the same session is called again. This is a
> problem with the ConnectionConsumer protocol, because the may have claimed
> the session for recycling.
> The attached piece of test code (AMQRollbackTest.java) demonstrates the
> issue. It runs fine with ActiveMQ 5.11.2 and hangs with ActiveMQ 5.12.0. It
> demonstrates the issue for QueueSessions, but TopicSessions are affected
> equally.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)