Получение сообщения синхронно с использованием MINA2 - PullRequest
0 голосов
/ 14 мая 2018

Я хочу отправлять и получать сообщения синхронно с использованием библиотеки Apache MINA 2 . Итак, я хочу использовать следующие фрагменты кода:

// 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();
     }
}

Но recvMessage - это null. Что не так с этим кодом?

Заранее спасибо.

...