Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5559

ServiceTaskManager fails to commit if session is transacted and always rollsback when using swiftMQ 2.1.3

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Transports 1.0.0
    • Fix Version/s: 1.6.3, 1.7.0
    • Component/s: JMS transport
    • Labels:
      None
    • Environment:
      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

        Attachments

          Activity

            People

            • Assignee:
              ruwan Ruwan Linton
              Reporter:
              pinglis Paul Inglis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: