Class ReactorNetty2TcpClient<P>
java.lang.Object
org.springframework.messaging.tcp.reactor.ReactorNetty2TcpClient<P>
- Type Parameters:
P
- the type of payload for in and outbound messages
- All Implemented Interfaces:
TcpOperations<P>
Reactor Netty based implementation of
TcpOperations
.
This class is based on ReactorNettyTcpClient
.
- Since:
- 6.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionReactorNetty2TcpClient
(String host, int port, TcpMessageCodec<P> codec) Simple constructor with the host and port to use to connect to.ReactorNetty2TcpClient
(Function<reactor.netty5.tcp.TcpClient, reactor.netty5.tcp.TcpClient> clientConfigurer, TcpMessageCodec<P> codec) A variant ofReactorNetty2TcpClient(String, int, TcpMessageCodec)
that still manages the lifecycle of theTcpClient
and underlying resources, but allows for direct configuration of other properties of the client through aFunction<TcpClient, TcpClient>
.ReactorNetty2TcpClient
(reactor.netty5.tcp.TcpClient tcpClient, TcpMessageCodec<P> codec) Constructor with an externally createdTcpClient
instance whose lifecycle is expected to be managed externally. -
Method Summary
Modifier and TypeMethodDescriptionconnectAsync
(TcpConnectionHandler<P> handler) Open a new connection.connectAsync
(TcpConnectionHandler<P> handler, ReconnectStrategy strategy) Open a new connection and a strategy for reconnecting if the connection fails.protected reactor.netty5.tcp.TcpClient
extendTcpClient
(reactor.netty5.tcp.TcpClient tcpClient, TcpConnectionHandler<P> handler) Provides an opportunity to initialize theTcpClient
for the givenTcpConnectionHandler
which may implement sub-interfaces such asStompTcpConnectionHandler
that expose further information.Return the currently configured Logger.void
Set an alternative logger to use than the one based on the class name.Shut down and close any open connections.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.messaging.tcp.TcpOperations
connect, connect, shutdown
-
Constructor Details
-
ReactorNetty2TcpClient
Simple constructor with the host and port to use to connect to.This constructor manages the lifecycle of the
TcpClient
and underlying resources such asConnectionProvider
,LoopResources
, andChannelGroup
.For full control over the initialization and lifecycle of the TcpClient, use
ReactorNetty2TcpClient(TcpClient, TcpMessageCodec)
.- Parameters:
host
- the host to connect toport
- the port to connect tocodec
- for encoding and decoding the input/output byte streams- See Also:
-
ReactorNetty2TcpClient
public ReactorNetty2TcpClient(Function<reactor.netty5.tcp.TcpClient, reactor.netty5.tcp.TcpClient> clientConfigurer, TcpMessageCodec<P> codec) A variant ofReactorNetty2TcpClient(String, int, TcpMessageCodec)
that still manages the lifecycle of theTcpClient
and 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:
-
ReactorNetty2TcpClient
Constructor with an externally createdTcpClient
instance 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
-
connectAsync
Description copied from interface:TcpOperations
Open a new connection.- Specified by:
connectAsync
in interfaceTcpOperations<P>
- Parameters:
handler
- a handler to manage the connection- Returns:
- a CompletableFuture that can be used to determine when and if the connection is successfully established
-
extendTcpClient
protected reactor.netty5.tcp.TcpClient extendTcpClient(reactor.netty5.tcp.TcpClient tcpClient, TcpConnectionHandler<P> handler) Provides an opportunity to initialize theTcpClient
for the givenTcpConnectionHandler
which may implement sub-interfaces such asStompTcpConnectionHandler
that expose further information.- Parameters:
tcpClient
- the candidate TcpClienthandler
- the handler for the TCP connection- Returns:
- the same handler or an updated instance
-
connectAsync
public CompletableFuture<Void> connectAsync(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:
connectAsync
in interfaceTcpOperations<P>
- Parameters:
handler
- a handler to manage the connectionstrategy
- a strategy for reconnecting- Returns:
- a CompletableFuture that can be used to determine when and if the initial connection is successfully established
-
shutdownAsync
Description copied from interface:TcpOperations
Shut down and close any open connections.- Specified by:
shutdownAsync
in interfaceTcpOperations<P>
- Returns:
- a CompletableFuture that can be used to determine when and if the connection is successfully closed
-
toString
-