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 Bug
    • Status: Resolved
    • Priority: Minor 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

        Activity

        Hide
        Paul Inglis added a comment - - edited

        This patch fixes the issue for me with swiftMQ. I've not tested it with other JMS implementations though.

        Show
        Paul Inglis added a comment - - edited This patch fixes the issue for me with swiftMQ. I've not tested it with other JMS implementations though.
        Hide
        Ruwan Linton added a comment -

        Hi Paul,

        Thanks for the contribution, we will test the patch on some other JMS provider and get this into the 1.1 release.

        Thanks,
        Ruwan

        Show
        Ruwan Linton added a comment - Hi Paul, Thanks for the contribution, we will test the patch on some other JMS provider and get this into the 1.1 release. Thanks, Ruwan
        Hide
        Rajika Kumarasiri added a comment -

        hi,
        I tested the patch with ActiveMQ JMS provider and I didn't come across any issue. I think it's safe to apply the patch.

        Rajika

        Show
        Rajika Kumarasiri added a comment - hi, I tested the patch with ActiveMQ JMS provider and I didn't come across any issue. I think it's safe to apply the patch. Rajika
        Hide
        Ruwan Linton added a comment -

        Fixed on the trunk, thanks Rajika for the contribution

        Show
        Ruwan Linton added a comment - Fixed on the trunk, thanks Rajika for the contribution
        Hide
        Rajika Kumarasiri added a comment -

        Actually the patch was submitted by Paul Inglis.

        Rajika

        Show
        Rajika Kumarasiri added a comment - Actually the patch was submitted by Paul Inglis. Rajika

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development