类 ReactorClientHttpConnector
java.lang.Object
cn.taketoday.http.client.reactive.ReactorClientHttpConnector
- 所有已实现的接口:
cn.taketoday.context.Lifecycle,cn.taketoday.context.Phased,cn.taketoday.context.SmartLifecycle,ClientHttpConnector
public class ReactorClientHttpConnector
extends Object
implements ClientHttpConnector, cn.taketoday.context.SmartLifecycle
Reactor-Netty implementation of
ClientHttpConnector.
This class implements Lifecycle and can be optionally declared
as a Infra-managed bean.
- 从以下版本开始:
- 4.0
- 作者:
- Brian Clozel, Rossen Stoyanchev, Sebastien Deleuze, Harry Yang
- 另请参阅:
-
HttpClient
-
字段概要
字段修饰符和类型字段说明private static final Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> private reactor.netty.http.client.HttpClientprivate final Objectprivate static final cn.taketoday.logging.Loggerprivate final Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> private final ReactorResourceFactoryprivate boolean从接口继承的字段 cn.taketoday.context.SmartLifecycle
DEFAULT_PHASE -
构造器概要
构造器构造器说明Default constructor.ReactorClientHttpConnector(ReactorResourceFactory resourceFactory, Function<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) Constructor with externally managed Reactor Netty resources, includingLoopResourcesfor event loop threads, andConnectionProviderfor the connection pool.ReactorClientHttpConnector(reactor.netty.http.client.HttpClient httpClient) Constructor with a pre-configuredHttpClientinstance. -
方法概要
修饰符和类型方法说明private ReactorClientHttpRequestadaptRequest(HttpMethod method, URI uri, reactor.netty.http.client.HttpClientRequest request, reactor.netty.NettyOutbound nettyOutbound) private static Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> applyLoopResources(ReactorResourceFactory factory) reactor.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 givenHttpMethodandURIand apply the givenrequestCallbackwhen the HTTP request of the underlying API can be initialized and written to.private static reactor.netty.http.client.HttpClientcreateHttpClient(ReactorResourceFactory resourceFactory, Function<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) intgetPhase()booleanbooleanvoidstart()voidstop()final void
-
字段详细资料
-
logger
private static final cn.taketoday.logging.Logger logger -
defaultInitializer
private static final Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> defaultInitializer -
httpClient
private reactor.netty.http.client.HttpClient httpClient -
resourceFactory
-
mapper
@Nullable private final Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> mapper -
running
private volatile boolean running -
lifecycleMonitor
-
-
构造器详细资料
-
ReactorClientHttpConnector
public ReactorClientHttpConnector()Default constructor. InitializesHttpClientvia:HttpClient.create().compress()
-
ReactorClientHttpConnector
public ReactorClientHttpConnector(ReactorResourceFactory resourceFactory, Function<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) Constructor with externally managed Reactor Netty resources, includingLoopResourcesfor event loop threads, andConnectionProviderfor 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 aReactorResourceFactorybean withglobalResources=truein order to ensure the Reactor Netty global resources are shut down when the Spring ApplicationContext is closed.- 参数:
resourceFactory- the resource factory to obtain the resources frommapper- a mapper for further initialization of the created client
-
ReactorClientHttpConnector
public ReactorClientHttpConnector(reactor.netty.http.client.HttpClient httpClient) Constructor with a pre-configuredHttpClientinstance.- 参数:
httpClient- the client to use
-
-
方法详细资料
-
createHttpClient
private static reactor.netty.http.client.HttpClient createHttpClient(ReactorResourceFactory resourceFactory, Function<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) -
applyLoopResources
private static Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> applyLoopResources(ReactorResourceFactory factory) -
connect
public reactor.core.publisher.Mono<ClientHttpResponse> connect(HttpMethod method, URI uri, Function<? super ClientHttpRequest, reactor.core.publisher.Mono<Void>> requestCallback) 从接口复制的说明:ClientHttpConnectorConnect to the origin server using the givenHttpMethodandURIand apply the givenrequestCallbackwhen the HTTP request of the underlying API can be initialized and written to.- 指定者:
connect在接口中ClientHttpConnector- 参数:
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 cn.taketoday.core.io.buffer.DataBuffer>)orReactiveHttpOutputMessage.setComplete().- 返回:
- publisher for the
ClientHttpResponse
-
adaptRequest
private ReactorClientHttpRequest adaptRequest(HttpMethod method, URI uri, reactor.netty.http.client.HttpClientRequest request, reactor.netty.NettyOutbound nettyOutbound) -
start
public void start()- 指定者:
start在接口中cn.taketoday.context.Lifecycle
-
stop
public void stop()- 指定者:
stop在接口中cn.taketoday.context.Lifecycle
-
stop
- 指定者:
stop在接口中cn.taketoday.context.SmartLifecycle
-
isRunning
public boolean isRunning()- 指定者:
isRunning在接口中cn.taketoday.context.Lifecycle
-
isAutoStartup
public boolean isAutoStartup()- 指定者:
isAutoStartup在接口中cn.taketoday.context.SmartLifecycle
-
getPhase
public int getPhase()- 指定者:
getPhase在接口中cn.taketoday.context.Phased- 指定者:
getPhase在接口中cn.taketoday.context.SmartLifecycle
-