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

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

Introduction

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

Prototype

void afterConnected(TcpConnection<P> connection);

Source Link

Document

Invoked after a connection is successfully established.

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