axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Grant Patterson (JIRA)" <>
Subject [jira] Created: (AXIS2-4759) JMS transport prevents clean Axis2 shutdown
Date Wed, 30 Jun 2010 03:52:50 GMT
JMS transport prevents clean Axis2 shutdown

                 Key: AXIS2-4759
             Project: Axis2
          Issue Type: Bug
          Components: transports
    Affects Versions: 1.5.1
         Environment: Tomcat 6.0
Open MQ 4.3
            Reporter: Grant Patterson

JMSListener doesn't close its JMS connections on shutdown. Open MQ connections have two threads
that terminate when the connection is closed (imqConnectionFlowControl-0 and iMQReadChannel-0).
If the connection isn't closed on shutdown then these threads prevent Axis2 and Tomcat from
shutting down normally.

ServiceTaskManager is responsible for the JMS connections. On shutdown, it calls Connection.stop()
rather than Connection.close(). This pauses the connection rather than closing it, and in
the case of Open MQ the two connection threads remain running.

I have fixed this issue and will upload a patch.

The patch replaces the stop() call with a close() call and fixes several other issues with
that were exposed once the connection was properly closed:
 - double-checked locking and synchronization on the wrong monitor when creating a new shared
 - Qpid deadlocks if a session's connection is closed on another thread while the session
is closing. This caused the unit tests to fail.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message