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#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...