Example usage for org.springframework.messaging.tcp TcpConnectionHandler handleMessage

List of usage examples for org.springframework.messaging.tcp TcpConnectionHandler handleMessage

Introduction

In this page you can find the example usage for org.springframework.messaging.tcp TcpConnectionHandler handleMessage.

Prototype

void handleMessage(Message<P> message);

Source Link

Document

Handle a message received from the remote host.

Usage

From source file:org.springframework.messaging.tcp.reactor.ReactorTcpClient.java

private void composeConnectionHandling(Composable<TcpConnection<Message<P>, Message<P>>> composable,
        final TcpConnectionHandler<P> connectionHandler) {

    composable.when(Throwable.class, new Consumer<Throwable>() {
        @Override/*  ww w  .ja v  a 2  s .  c o m*/
        public void accept(Throwable ex) {
            connectionHandler.afterConnectFailure(ex);
        }
    });

    composable.consume(new Consumer<TcpConnection<Message<P>, Message<P>>>() {
        @Override
        public void accept(TcpConnection<Message<P>, Message<P>> connection) {
            connection.on().close(new Runnable() {
                @Override
                public void run() {
                    connectionHandler.afterConnectionClosed();
                }
            });
            connection.consume(new Consumer<Message<P>>() {
                @Override
                public void accept(Message<P> message) {
                    connectionHandler.handleMessage(message);
                }
            });
            connection.when(Throwable.class, new Consumer<Throwable>() {
                @Override
                public void accept(Throwable t) {
                    logger.error("Exception on connection " + connectionHandler, t);
                }
            });
            connectionHandler.afterConnected(new ReactorTcpConnection<P>(connection));
        }
    });
}