1

I want to send and receive message synchronously using Apache MINA 2 library. So, i want to use following pieces of code:

// Establish connection
NioSocketConnector connector = new NioSocketConnector();
connector.setConnectTimeoutMillis(CONNECT_TIMEOUT);

connector.getFilterChain().addLast("codec",
          new ProtocolCodecFilter(new MyProtocolCodecFactory()));

connector.getFilterChain().addLast("logger", new LoggingFilter());
connector.setHandler(new ClientSessionHandler());
connector.getSessionConfig().setTcpNoDelay(true);
connector.getSessionConfig().setKeepAlive(true);
connector.getSessionConfig().setSendBufferSize(MAX_BUFFER_SIZE);
connector.getSessionConfig().setReadBufferSize(MAX_BUFFER_SIZE);
connector.getSessionConfig().setReceiveBufferSize(MAX_BUFFER_SIZE);
connector.getSessionConfig().setBothIdleTime(IDLE_TIME);
connector.getSessionConfig().setUseReadOperation(true);


try {
     future = connector.connect(new InetSocketAddress(IP, PORT)).awaitUninterruptibly();
} catch (RuntimeIoException e) {
     connector.dispose();
}

IoSession session = future.getSession();
session.write(withdrawal);

ReadFuture readFuture = session.read();

Object recvMessage = null;
while (recvMessage == null) {
     if (!readFuture.isClosed()) {
         readFuture.awaitUninterruptibly();
         recvMessage = readFuture.getMessage();
     }
}

But recvMessage is null. What is wrong with this code?

Thanks in advance.

Venki WAR
  • 1,997
  • 4
  • 25
  • 38
Hossein Mobasher
  • 4,382
  • 5
  • 46
  • 73

0 Answers0