Le Sat, 16 Jan 2010 04:36:31 +0100, Emmanuel Lecharny <[email protected]> a écrit :
> Hi guys, > > just to keep you informed about what has been found during my > investigation on this issue. > > The JIRA is talking about a regression from M6 to RC1, but in fact M6 > code has been fixed and theses fixes impact the way the dispose() > method behaves when it's called inside a Listener : we now have a > hang instead of a quick exit due to a deadlock detection. > > Of course, we can add some deadlock detection in the dispose() > method, and the hang will disapear, but it's just a bad workaround. > > I would like to raise a question here : > when closing a session, which is associated with a listener, should > we allow the dispose() method to be called in the listener ? > > If so, we have to find a way to get the dispose() being run in a > separated thread than the IoProcessor, otherwise it will wait forever. > > Otherwise, should we simply throw an exception, telling the user that > it's a nonsense to call dispose in a listener ? The rational would be > that if you dispose() in a session close listener, then *all* the > other sessions will also be closed at the same time, something the > user might not be aware of. > > wdyt ? > Well if it's convenient for the users, why not let call dispose in the listeners and detect the deadlock as it was detected ? Julien -- Julien Vermillard Archean Technologies http://www.archean.fr
signature.asc
Description: PGP signature
