[jboss-dev-forums] [Design of JBoss Remoting, Unified Invokers] - Re: Server side thread leak?

ron.sigal@jboss.com do-not-reply at jboss.com
Wed Apr 1 18:19:15 EDT 2009


It occurs to me that each active ServerThread that isn't executing an invocation is sitting in SocketInputStream.read(), and the default timeout is 60000 milliseconds.  When the read() times out, the thread should close the socket and return to the threadpool, from which it can be reused by another invocation.

Richard,  I'm guessing that the tests you were running were just too short for these threads to time out ... .  Does that make sense?

As long as the timeout is that short, then turning on idle thread reaping may not be necessary after all.  There's still the issue on the client side of unused sockets sitting around.  But as long as EJBs are getting used, the sockets wouldn't go unused.  Note that any EJB proxies to the same server should share the same underlying invoker and the same connection pool.

I'm just wondering if UnifiedInvokerProxy was written the way it was, without calling Client.disconnect(), because the typical use case would be to keep making EJB invocations and keep the connections in use.  

What about that?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4222807#4222807

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4222807



More information about the jboss-dev-forums mailing list