IoConnectot.dispose blocks forever ---------------------------------- Key: DIRMINA-755 URL: https://issues.apache.org/jira/browse/DIRMINA-755 Project: MINA Issue Type: Bug Affects Versions: 2.0.0-RC1 Reporter: Emmanuel Lecharny Fix For: 2.0.0-RC2
(Extracted from the ML) 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* -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.