Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
Transports 1.0.0
-
None
-
SwiftMQ 2.1.3,
Description
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