]
Howard Gao commented on JBMESSAGING-1591:
-----------------------------------------
Hi Tim,
The problem roots in JBR. However the fix in remoting requires JBM to update also. A new
method callbackHandler.shutdown() will be added in remoting to specifically solve this
problem. So we need to call this shutdown() instead of disconnect() in our failure
handling code.
ServerInvokerCallbackHandler is not cleaned up properly after a
client faliure.
-------------------------------------------------------------------------------
Key: JBMESSAGING-1591
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1591
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP07, 1.4.2.GA.SP1, 1.4.3.GA
Reporter: Howard Gao
Assignee: Howard Gao
Fix For: 1.4.0.SP3.CP08, 1.4.4.GA
When a JMS client crashed, the server doesn't clean up the
ServerInvokerCallbackHandler, resulting in leak.
[quote from Ron, remoting team]
Instances of org.jboss.remoting.callback.ServerInvokerCallbackHandler are leaking when
the client doesn't close a JMS connection. When the Remoting Lease times out,
JBossMessaging is notified, but not enough cleaning up is getting done. It looks like a
couple of maps in Remoting plus a map in JMSServerInvocationHandler are holding references
to instances of ServerInvokerCallbackHandler. I've created a
ServerInvokerCallbackHandler.shutdown() method, and I think the only change necessary in
JBossMessaging is for
org.jboss.jms.server.endpoint.ServerConnectionEndpoint.closeCallbackClient() to call
callbackHandler.shutdown();
instead of
callbackHandler.getCallbackClient().disconnect();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: