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 Object implements TcpOperations<P>
Reactor Netty based implementation ofTcpOperations.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Stephane Maldini
Constructor Summary
Constructors Constructor Description ReactorNettyTcpClient(String host, int port, ReactorNettyCodec<P> codec)Simple constructor with the host and port to use to connect to.ReactorNettyTcpClient(Function<reactor.netty.tcp.TcpClient,reactor.netty.tcp.TcpClient> clientConfigurer, ReactorNettyCodec<P> codec)A variant ofReactorNettyTcpClient(String, int, ReactorNettyCodec)that still manages the lifecycle of theTcpClientand underlying resources, but allows for direct configuration of other properties of the client through aFunction<TcpClient, TcpClient>.ReactorNettyTcpClient(reactor.netty.tcp.TcpClient tcpClient, ReactorNettyCodec<P> codec)Constructor with an externally createdTcpClientinstance whose lifecycle is expected to be managed externally.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ListenableFuture<Void>connect(TcpConnectionHandler<P> handler)Open a new connection.ListenableFuture<Void>connect(TcpConnectionHandler<P> handler, ReconnectStrategy strategy)Open a new connection and a strategy for reconnecting if the connection fails.LoggetLogger()Return the currently configured Logger.voidsetLogger(Log logger)Set an alternative logger to use than the one based on the class name.ListenableFuture<Void>shutdown()Shut down and close any open connections.StringtoString()
Constructor Detail
ReactorNettyTcpClient
public ReactorNettyTcpClient(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
TcpClientand underlying resources such asConnectionProvider,LoopResources, andChannelGroup.For full control over the initialization and lifecycle of the TcpClient, use
ReactorNettyTcpClient(TcpClient, ReactorNettyCodec).- Parameters:
host- the host to connect toport- the port to connect tocodec- for encoding and decoding the input/output byte streams- See Also:
StompReactorNettyCodec
ReactorNettyTcpClient
public ReactorNettyTcpClient(Function<reactor.netty.tcp.TcpClient,reactor.netty.tcp.TcpClient> clientConfigurer, ReactorNettyCodec<P> codec)
A variant ofReactorNettyTcpClient(String, int, ReactorNettyCodec)that still manages the lifecycle of theTcpClientand underlying resources, but allows for direct configuration of other properties of the client through aFunction<TcpClient, TcpClient>.- Parameters:
clientConfigurer- the configurer functioncodec- for encoding and decoding the input/output byte streams- Since:
- 5.1.3
- See Also:
StompReactorNettyCodec
ReactorNettyTcpClient
public ReactorNettyTcpClient(reactor.netty.tcp.TcpClient tcpClient, ReactorNettyCodec<P> codec)
Constructor with an externally createdTcpClientinstance whose lifecycle is expected to be managed externally.- Parameters:
tcpClient- the TcpClient instance to usecodec- 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
connect
public ListenableFuture<Void> connect(TcpConnectionHandler<P> handler)
Description copied from interface:TcpOperationsOpen a new connection.- Specified by:
connectin interfaceTcpOperations<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<Void> connect(TcpConnectionHandler<P> handler, ReconnectStrategy strategy)
Description copied from interface:TcpOperationsOpen a new connection and a strategy for reconnecting if the connection fails.- Specified by:
connectin interfaceTcpOperations<P>- Parameters:
handler- a handler to manage the connectionstrategy- 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<Void> shutdown()
Description copied from interface:TcpOperationsShut down and close any open connections.- Specified by:
shutdownin interfaceTcpOperations<P>- Returns:
- a ListenableFuture that can be used to determine when and if the connection is successfully closed