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>
Reactor Netty based implementation of
TcpOperations.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Stephane Maldini
-
Constructor Summary
ConstructorsConstructorDescriptionReactorNettyTcpClient(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
Modifier and TypeMethodDescriptionconnect(TcpConnectionHandler<P> handler) Open a new connection.connect(TcpConnectionHandler<P> handler, ReconnectStrategy strategy) Open a new connection and a strategy for reconnecting if the connection fails.protected reactor.netty.tcp.TcpClientextendTcpClient(reactor.netty.tcp.TcpClient tcpClient, TcpConnectionHandler<P> handler) Provides an opportunity to initialize theTcpClientfor the givenTcpConnectionHandlerwhich may implement sub-interfaces such asStompTcpConnectionHandlerthat expose further information.Return the currently configured Logger.voidSet an alternative logger to use than the one based on the class name.shutdown()Shut down and close any open connections.toString()
-
Constructor Details
-
ReactorNettyTcpClient
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:
-
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:
-
ReactorNettyTcpClient
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:
-
-
Method Details
-
setLogger
Set an alternative logger to use than the one based on the class name.- Parameters:
logger- the logger to use- Since:
- 5.1
-
getLogger
Return the currently configured Logger.- Since:
- 5.1
-
connect
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
-
extendTcpClient
protected reactor.netty.tcp.TcpClient extendTcpClient(reactor.netty.tcp.TcpClient tcpClient, TcpConnectionHandler<P> handler) Provides an opportunity to initialize theTcpClientfor the givenTcpConnectionHandlerwhich may implement sub-interfaces such asStompTcpConnectionHandlerthat expose further information.- Parameters:
tcpClient- the candidate TcpClienthandler- the handler for the TCP connection- Returns:
- the same handler or an updated instance
-
connect
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
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
-
toString
-