@Contract(threading=STATELESS) @Internal public final class AsyncHttpRequestRetryExec extends Object implements AsyncExecChainHandler
HttpRequestRetryStrategy.getRetryInterval(HttpResponse, int, org.apache.hc.core5.http.protocol.HttpContext).
Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.
If this handler is active, pay particular attention to the placement
of other handlers within the handler chain relative to the retry handler.
Use ChainElement.RETRY as name when referring to this handler.
If a custom handler is placed before the retry handler, the handler will see the initial request and the final outcome after the last retry. Elapsed time will account for any delays imposed by the retry handler.
A custom handler which is placed after the retry handler will be invoked for each individual retry. Elapsed time will measure each individual http request, without the delay imposed by the retry handler.
| 构造器和说明 |
|---|
AsyncHttpRequestRetryExec(HttpRequestRetryStrategy retryStrategy) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
execute(HttpRequest request,
AsyncEntityProducer entityProducer,
AsyncExecChain.Scope scope,
AsyncExecChain chain,
AsyncExecCallback asyncExecCallback)
Executes the actual HTTP request.
|
public AsyncHttpRequestRetryExec(HttpRequestRetryStrategy retryStrategy)
public void execute(HttpRequest request, AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws HttpException, IOException
AsyncExecChainHandlerexecute 在接口中 AsyncExecChainHandlerrequest - the actual request.entityProducer - the request entity producer or null if the request
does not enclose an entity.scope - the execution scope .chain - the next element in the request execution chain.asyncExecCallback - the execution callback.HttpExceptionIOExceptionCopyright © 2023. All rights reserved.