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.

Reply via email to