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

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

Introduction

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

Prototype

void afterConnectionClosed();

Source Link

Document

Invoked after the connection is closed.

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//from w  ww. j  a v a  2 s.c  om
        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));
        }
    });
}