Class AsyncHttpRequestRetryExec
java.lang.Object
org.apache.hc.client5.http.impl.async.AsyncHttpRequestRetryExec
- All Implemented Interfaces:
AsyncExecChainHandler
@Contract(threading=STATELESS)
@Internal
public final class AsyncHttpRequestRetryExec
extends Object
implements AsyncExecChainHandler
Request executor in the asynchronous request execution chain that is
responsible for making a decision whether a request that failed due to
an I/O exception or received a specific response from the target server should
be re-executed. Note that this exec chain handler will not respect
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.
- Since:
- 5.0
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Loggerprivate final HttpRequestRetryStrategy -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) Executes the actual HTTP request.private voidinternalExecute(AsyncHttpRequestRetryExec.State state, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback)
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
retryStrategy
-
-
Constructor Details
-
AsyncHttpRequestRetryExec
-
-
Method Details
-
internalExecute
private void internalExecute(AsyncHttpRequestRetryExec.State state, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException - Throws:
org.apache.hc.core5.http.HttpExceptionIOException
-
execute
public void execute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException Description copied from interface:AsyncExecChainHandlerExecutes the actual HTTP request. The handler can choose to return a response message immediately inside the call or asynchronously at some later point or delegate request execution to the next element in the execution chain.- Specified by:
executein interfaceAsyncExecChainHandler- Parameters:
request- the actual request.entityProducer- the request entity producer ornullif the request does not enclose an entity.scope- the execution scope .chain- the next element in the request execution chain.asyncExecCallback- the execution callback.- Throws:
org.apache.hc.core5.http.HttpExceptionIOException
-