JMS transport prevents clean Axis2 shutdown
-------------------------------------------
Key: AXIS2-4759
URL: https://issues.apache.org/jira/browse/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 connection
- 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: [email protected]
For additional commands, e-mail: [email protected]