ServiceTaskManager fails to commit if session is transacted and always
rollsback when using swiftMQ 2.1.3
---------------------------------------------------------------------------------------------------------
Key: WSCOMMONS-524
URL: https://issues.apache.org/jira/browse/WSCOMMONS-524
Project: WS-Commons
Issue Type: Bug
Components: Transport
Affects Versions: Transports 1.0, Transports 1.1
Environment: SwiftMQ 2.1.3,
Reporter: Paul Inglis
Priority: Minor
Fix For: Transports 1.1
Hi,
I have an issue reading JMS messages from an old JMS 1.0 implementation
provided by swiftMQ as part of a transaction. The transaction always rolls
back and never commits a read from the queue.
Looking at ServiceTaskManager, in the method handleMessage, the logic it takes
is:
1. pass message to jmsMessageReceiver for processing
2. close the consumer
3. commit or rollback transaction on session.
4. close session
5. close connection
It appears though that at stage 2 with swiftMQ the open transaction is
rolledback. This means the commit in stage 3 does nothing.
The solution is swap stages 2 and 3 such that the open transaction is commited
before the consumer is closed.
I noticted this issue on the verison of Transports (1.0) that ships with WSO2's
ESB product but it appears that the same issue applies to 1.1 as well.
Paul Inglis
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.