Hi there, I recently switched from 2.0.0-M6 to 2.0.0-RC1 and now discovered a problem with the IoConnector (I'm using the nio stuff)...
I'll try to explain: In case of network connection shutdown I try to clean up as good as possible. I terminate tread pools, I close the session, and finally I try to dispose the IoConnector. Here's a small code-snippet from my shutdown-code: ---- CloseFuture closeFuture = ctsc.getSession().close(false); closeFuture.addListener(new IoFutureListener<IoFuture>() { public void operationComplete(IoFuture future) { ctsc.getFilterchainWorkerPool().shutdown(); System.out.println("managed session count= "+ctsc.getConnector().getManagedSessionCount()); ctsc.getConnector().dispose(); } }); ---- "ctsc" is a simple container which contains the session (getSession) and the used connection (getConnector). First I try to close the session. Then, if this operation is completed, I try to shutdown a thread pool and finally dispose the connector. I read in the api doc, that this dispose call may block in case of still open session related to this connector. I tried to print out the number of still open sessions. On the console I get: "managed session count= 0" But the next call, the dispose() call, blocks and prevents the remaining threads from shutdown to get a clean application termination. If I switch from RC1 backt o M6, this works quite well. Am I doing something wrong? Has the behavior changed? *little bit confused* br, Alex