| Maarten Bosteels 2005-10-05, 8:45 pm |
| Hello,
I am checking out MINA and it looks very interesting.
My first question: when I call unbind(service) or unbindAll() on a
SimpleServiceRegistry
will it wait until all running I/O events are handled ?
In other words: suppose my IoHandlerAdapter implementation looks like this
public void dataRead( IoSession session, ByteBuffer rb )
{
ByteBuffer wb = ByteBuffer.allocate( 4 );
int res = somethingThatTakesSomeTime();
wb.putInt ( res );
wb.flip();
session.write( wb, null );
}
And thread_x calls unbindAll() while thread_y is busy with somethingThatTakesSomeTime().
Will unbindAll() wait until dataRead() finishes or will thread_y get interrupted somehow ?
I guess I could just try it out, but I would rather like to know what is the intended behaviour.
On a sidenote: is it common to create a 'private' shutdownService (only accepting connections from localhost)
that just waits for a shutdown command, and then tries to gracefully shutdown ?
(like Tomcat does on port 8005)
Thanks
Maarten
|