[
https://jira.jboss.org/jira/browse/JBREM-1113?page=com.atlassian.jira.plu...
]
Ron Sigal updated JBREM-1113:
-----------------------------
Description:
1. a. org.jboss.remoting.callback.ServerInvokerCallbackHandler is referenced by
org.jboss.remoting.ServerInvoker and by the org.jboss.remoting.ConnectionNotifier, if any,
created by ServerInvoker.
b. ServerInvokerCallbackHandler is passed to
org.jboss.remoting.ServerInvocationHandler.addListener(), so the application
ServerInvocationHandler could also maintain a pointer to ServerInvokerCallbackHandler.
If the application calls org.jboss.remoting.Client.removeListener(), then ServerInvoker
will clean up its references to ServerInvokerCallbackHandler, and it will call
ServerInvocationHandler.removeListener(), giving the application a chance to remove the
reference it holds.
However, if the connection from the client breaks, none of these things happen.
2. There needs to be a ServerInvokerCallbackHandler method that can be called by the
application, by, for example, a ConnectionListener, which will cause the references to be
removed by ServerInvoker and the applications ServerInvocationHandler.
was:
There are two aspects to this problem.
1. a. org.jboss.remoting.callback.ServerInvokerCallbackHandler is referenced by
org.jboss.remoting.ServerInvoker and by the org.jboss.remoting.ConnectionNotifier, if any,
created by ServerInvoker.
b. ServerInvokerCallbackHandler is passed to
org.jboss.remoting.ServerInvocationHandler.addListener(), so the application
ServerInvocationHandler could also maintain a pointer to ServerInvokerCallbackHandler.
If the application calls org.jboss.remoting.Client.removeListener(), then ServerInvoker
will clean up its references to ServerInvokerCallbackHandler, and it will call
ServerInvocationHandler.removeListener(), giving the application a chance to remove the
reference it holds.
However, if the connection from the client breaks, none of these things happen.
2. There needs to be a ServerInvokerCallbackHandler method that can be called by the
application, by, for example, a ConnectionListener, which will cause the references to be
removed by ServerInvoker and the applications ServerInvocationHandler.
ServerInvokerCallbackHandlers leak when client doesn't shut down
-----------------------------------------------------------------
Key: JBREM-1113
URL:
https://jira.jboss.org/jira/browse/JBREM-1113
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.5.0.SP2 (Flounder) , 2.2.2.SP11
Reporter: Ron Sigal
Assignee: Ron Sigal
Fix For: 2.5.0.SP3 (Flounder), 2.2.2.SP12
1. a. org.jboss.remoting.callback.ServerInvokerCallbackHandler is referenced by
org.jboss.remoting.ServerInvoker and by the org.jboss.remoting.ConnectionNotifier, if any,
created by ServerInvoker.
b. ServerInvokerCallbackHandler is passed to
org.jboss.remoting.ServerInvocationHandler.addListener(), so the application
ServerInvocationHandler could also maintain a pointer to ServerInvokerCallbackHandler.
If the application calls org.jboss.remoting.Client.removeListener(), then ServerInvoker
will clean up its references to ServerInvokerCallbackHandler, and it will call
ServerInvocationHandler.removeListener(), giving the application a chance to remove the
reference it holds.
However, if the connection from the client breaks, none of these things happen.
2. There needs to be a ServerInvokerCallbackHandler method that can be called by the
application, by, for example, a ConnectionListener, which will cause the references to be
removed by ServerInvoker and the applications ServerInvocationHandler.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira