[
https://issues.apache.org/jira/browse/DIRMINA-755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800603#action_12800603
]
Alex. Ch. commented on DIRMINA-755:
-----------------------------------
Thanks a lot. I will try it. But then my application behavior would be
different. It will then block until all things are cleaned up :-(
As this is not really documented (or?): Is it possible to throw an exception in
that case? Or note it in the javadoc? I'm sure other's will trying to do the
same.
For me it was clear that the rigth time to dispose the connector is, when the
session is closed. So the end of the listener was the ideal way. No need to
hang around and wait for the end of the session, as the listener will do the
job.
But as I learned now, this isn't possible :-( :-( :-(
> 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
>
> Attachments: MinaTest.zip
>
>
> (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.