If I have a connection attempting to be made to a bad object the client connection will remain in the waitforconnect state forever. If I turn on the following properties: jacorb.connection.server.timeout=5000 jacorb.client.pending_reply_timeout=5000 jacorb.connection.client.idle.timeout=5000 it catches the bad connection however, the logic in the disconnect call seems flawed. Line 1460: if (disconnectAfterNonRecoverableSystemException) { return; } Since the default value is 'true', this will abort the disconnect of a bad connection. This leaves the thread in the waitforconnect state forever, even though I set a timeout. Shouldn't the logic be: if (!disconnectAfterNonRecoverableSystemException) { return; } With this change and the above properties the Client connections are successfully closed and the thread pool no longer continues to grow.
Pull request https://github.com/JacORB/JacORB/pull/52 done.
Merged.
(Commit : https://github.com/rnc/JacORB/commit/fba3a1170f62ef467346871f9053892beea51eb4 )