Class ReactorNetty2ClientHttpConnector
java.lang.Object
org.springframework.http.client.reactive.ReactorNetty2ClientHttpConnector
- All Implemented Interfaces:
ClientHttpConnector
Reactor Netty 2 (Netty 5) implementation of
ClientHttpConnector
.
This class is based on ReactorClientHttpConnector
.
- Since:
- 6.0
- Author:
- Violeta Georgieva
- See Also:
-
HttpClient
-
Constructor Summary
ConstructorDescriptionDefault constructor.ReactorNetty2ClientHttpConnector
(ReactorNetty2ResourceFactory factory, Function<reactor.netty5.http.client.HttpClient, reactor.netty5.http.client.HttpClient> mapper) Constructor with externally managed Reactor Netty resources, includingLoopResources
for event loop threads, andConnectionProvider
for the connection pool.ReactorNetty2ClientHttpConnector
(reactor.netty5.http.client.HttpClient httpClient) Constructor with a pre-configuredHttpClient
instance. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<ClientHttpResponse>
connect
(HttpMethod method, URI uri, Function<? super ClientHttpRequest, reactor.core.publisher.Mono<Void>> requestCallback) Connect to the origin server using the givenHttpMethod
andURI
and apply the givenrequestCallback
when the HTTP request of the underlying API can be initialized and written to.
-
Constructor Details
-
ReactorNetty2ClientHttpConnector
public ReactorNetty2ClientHttpConnector()Default constructor. InitializesHttpClient
via:HttpClient.create().compress()
-
ReactorNetty2ClientHttpConnector
public ReactorNetty2ClientHttpConnector(ReactorNetty2ResourceFactory factory, Function<reactor.netty5.http.client.HttpClient, reactor.netty5.http.client.HttpClient> mapper) Constructor with externally managed Reactor Netty resources, includingLoopResources
for event loop threads, andConnectionProvider
for the connection pool.This constructor should be used only when you don't want the client to participate in the Reactor Netty global resources. By default, the client participates in the Reactor Netty global resources held in
HttpResources
, which is recommended since fixed, shared resources are favored for event loop concurrency. However, consider declaring aReactorNetty2ResourceFactory
bean withglobalResources=true
in order to ensure the Reactor Netty global resources are shut down when the Spring ApplicationContext is closed.- Parameters:
factory
- the resource factory to obtain the resources frommapper
- a mapper for further initialization of the created client- Since:
- 5.1
-
ReactorNetty2ClientHttpConnector
public ReactorNetty2ClientHttpConnector(reactor.netty5.http.client.HttpClient httpClient) Constructor with a pre-configuredHttpClient
instance.- Parameters:
httpClient
- the client to use- Since:
- 5.1
-
-
Method Details
-
connect
public reactor.core.publisher.Mono<ClientHttpResponse> connect(HttpMethod method, URI uri, Function<? super ClientHttpRequest, reactor.core.publisher.Mono<Void>> requestCallback) Description copied from interface:ClientHttpConnector
Connect to the origin server using the givenHttpMethod
andURI
and apply the givenrequestCallback
when the HTTP request of the underlying API can be initialized and written to.- Specified by:
connect
in interfaceClientHttpConnector
- Parameters:
method
- the HTTP request methoduri
- the HTTP request URIrequestCallback
- a function that prepares and writes to the request, returning a publisher that signals when it's done writing. Implementations can return aMono<Void>
by callingReactiveHttpOutputMessage.writeWith(org.reactivestreams.Publisher<? extends org.springframework.core.io.buffer.DataBuffer>)
orReactiveHttpOutputMessage.setComplete()
.- Returns:
- publisher for the
ClientHttpResponse
-