[
https://issues.apache.org/jira/browse/AMQ-5966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902859#comment-14902859
]
Christian Schneider commented on AMQ-5966:
------------------------------------------
I can not reproduce a hang from the Test class.
This looks a bit weird though:
public void onMessage(Message message) {
if (rolledBack) {
throw new RuntimeException("Session rolled back.");
}
Why does the code assume a session that experienced a rollback can not receive
any more messages?
> 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)