org.springframework.messaging.tcp.reactor

Class ReactorNettyTcpClient<P>

  • java.lang.Object
    • org.springframework.messaging.tcp.reactor.ReactorNettyTcpClient<P>
  • Type Parameters:
    P - the type of payload for in and outbound messages
    All Implemented Interfaces:
    TcpOperations<P>


    public class ReactorNettyTcpClient<P>
    extends java.lang.Object
    implements TcpOperations<P>
    Reactor Netty based implementation of TcpOperations.
    Since:
    5.0
    Author:
    Rossen Stoyanchev, Stephane Maldini
    • Constructor Detail

      • ReactorNettyTcpClient

        public ReactorNettyTcpClient(java.lang.String host,
                                     int port,
                                     ReactorNettyCodec<P> codec)
        Simple constructor with the host and port to use to connect to.

        This constructor manages the lifecycle of the TcpClient and underlying resources such as ConnectionProvider, LoopResources, and ChannelGroup.

        For full control over the initialization and lifecycle of the TcpClient, use ReactorNettyTcpClient(TcpClient, ReactorNettyCodec).

        Parameters:
        host - the host to connect to
        port - the port to connect to
        codec - for encoding and decoding the input/output byte streams
        See Also:
        StompReactorNettyCodec
      • ReactorNettyTcpClient

        public ReactorNettyTcpClient(reactor.netty.tcp.TcpClient tcpClient,
                                     ReactorNettyCodec<P> codec)
        Constructor with an externally created TcpClient instance whose lifecycle is expected to be managed externally.
        Parameters:
        tcpClient - the TcpClient instance to use
        codec - for encoding and decoding the input/output byte streams
        See Also:
        StompReactorNettyCodec
    • Method Detail

      • setLogger

        public void setLogger(Log logger)
        Set an alternative logger to use than the one based on the class name.
        Parameters:
        logger - the logger to use
        Since:
        5.1
      • getLogger

        public Log getLogger()
        Return the currently configured Logger.
        Since:
        5.1
      • connect

        public ListenableFuture<java.lang.Void> connect(TcpConnectionHandler<P> handler)
        Description copied from interface: TcpOperations
        Open a new connection.
        Specified by:
        connect in interface TcpOperations<P>
        Parameters:
        handler - a handler to manage the connection
        Returns:
        a ListenableFuture that can be used to determine when and if the connection is successfully established
      • connect

        public ListenableFuture<java.lang.Void> connect(TcpConnectionHandler<P> handler,
                                                        ReconnectStrategy strategy)
        Description copied from interface: TcpOperations
        Open a new connection and a strategy for reconnecting if the connection fails.
        Specified by:
        connect in interface TcpOperations<P>
        Parameters:
        handler - a handler to manage the connection
        strategy - a strategy for reconnecting
        Returns:
        a ListenableFuture that can be used to determine when and if the initial connection is successfully established
      • shutdown

        public ListenableFuture<java.lang.Void> shutdown()
        Description copied from interface: TcpOperations
        Shut down and close any open connections.
        Specified by:
        shutdown in interface TcpOperations<P>
        Returns:
        a ListenableFuture that can be used to determine when and if the connection is successfully closed
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object