Hi all,

I'm developing a simple text protocol using TCP connectors/acceptors.

My application needs to send a periodic message to two remote endpoints at 
addressA and addressB. When the acceptors in addressA and addressB are running, 
the communication goes as expected (two NioProcessors are automatically created 
by MINA to handle the two session.write() events). However, when one of the 
remote acceptors disconnects, none of the messages gets delivered. Things go 
like this:

I have a send(message) method implemented in the class wrapping the connector 
object which:

- Checks to see if the corresponding session is connected, based on the 
destination address of the message.
- Performs a session.write with the connector if the corresponding session is 
active and connected.
- Tries to reconnect if that's not the case (ConnectFuture with 
awaitUninterruptibly()).

My simplified execution loop goes:

while (true)
{
        send(messageA);       // message objects encapsulate destination 
addresses...
        send(messageB);
}

But when the acceptor in addressA (destination of messageA) is disconnected, 
the second send call of each loop is never executed.

Is this related to the ConnectFuture somehow stopping the execution flow? Is 
there a way to perform a synchronous connetion attempt?

Thank you.

Zigor.

Ps: a pointer to any related documentation would be GREATLY appreciated too.

Reply via email to