[
https://issues.apache.org/jira/browse/DIRMINA-661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny resolved DIRMINA-661.
---------------------------------------
Resolution: Fixed
The issue was due to a missing invocation of the fireSessionClosed() in the
DummyIoSession IoProcessor implementation for the remove() method : when the
session is removed, the event should be propagated otherwise the closeFuture
listeners are never called.
Fixed in http://svn.apache.org/viewvc?rev=744025&view=rev
> DummySession.close(true) not notifying close listener
> -----------------------------------------------------
>
> Key: DIRMINA-661
> URL: https://issues.apache.org/jira/browse/DIRMINA-661
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.0-M4
> Environment: All?
> Reporter: David Rosenstrauch
> Priority: Minor
>
> I'm trying to add a close listener onto a session, and perform some
> processing after the session close is completed.
> This works fine on a live system (i.e., when using a NioSocketSession), but
> when I unit test using a DummySession I never get notified about
> operationComplete.
> See example JUnit test case at:
> http://www.darose.net/TestDummyIoSession.java
> -----
> Additional analysis, as per Emmanuel Lécharny :
> I think that the listeners are never called in the awaitUninterruptibly()
> method :
> /**
> * {...@inheritdoc}
> */
> public IoFuture awaitUninterruptibly() {
> try {
> await0(Long.MAX_VALUE, false);
> } catch ( InterruptedException ie) {
> // Do nothing : this catch is just mandatory by contract
> }
> ...
> The doc is explicit here :
> /**
> * Wait for the asynchronous operation to complete uninterruptibly.
> * *The attached listeners will be notified when the operation is
> * completed.*
> *
> * @return the current IoFuture
> */
> IoFuture awaitUninterruptibly();
> The listeners are never called...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.