@Contract(threading=STATELESS) public class DefaultHttpRequestRetryStrategy extends Object implements HttpRequestRetryStrategy
HttpRequestRetryStrategy
interface.Modifier and Type | Field and Description |
---|---|
static DefaultHttpRequestRetryStrategy |
INSTANCE
Default instance of
DefaultHttpRequestRetryStrategy . |
Modifier | Constructor and Description |
---|---|
|
DefaultHttpRequestRetryStrategy()
Create the HTTP request retry strategy with a max retry count of 1,
default retry interval of 1 second, and using the following list of
non-retriable I/O exception classes:
InterruptedIOException UnknownHostException ConnectException ConnectionClosedException SSLException and retriable HTTP status codes: SC_TOO_MANY_REQUESTS (429) SC_SERVICE_UNAVAILABLE (503) |
|
DefaultHttpRequestRetryStrategy(int maxRetries,
org.apache.hc.core5.util.TimeValue defaultRetryInterval)
Create the HTTP request retry strategy using the following list of
non-retriable I/O exception classes:
InterruptedIOException UnknownHostException ConnectException ConnectionClosedException NoRouteToHostException SSLException and retriable HTTP status codes: SC_TOO_MANY_REQUESTS (429) SC_SERVICE_UNAVAILABLE (503) |
protected |
DefaultHttpRequestRetryStrategy(int maxRetries,
org.apache.hc.core5.util.TimeValue defaultRetryInterval,
Collection<Class<? extends IOException>> clazzes,
Collection<Integer> codes) |
Modifier and Type | Method and Description |
---|---|
org.apache.hc.core5.util.TimeValue |
getRetryInterval(org.apache.hc.core5.http.HttpResponse response,
int execCount,
org.apache.hc.core5.http.protocol.HttpContext context)
Determines the retry interval between subsequent retries.
|
protected boolean |
handleAsIdempotent(org.apache.hc.core5.http.HttpRequest request) |
boolean |
retryRequest(org.apache.hc.core5.http.HttpRequest request,
IOException exception,
int execCount,
org.apache.hc.core5.http.protocol.HttpContext context)
Determines if a method should be retried after an I/O exception
occurred during execution.
|
boolean |
retryRequest(org.apache.hc.core5.http.HttpResponse response,
int execCount,
org.apache.hc.core5.http.protocol.HttpContext context)
Determines if a method should be retried given the response from
the target server.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRetryInterval
public static final DefaultHttpRequestRetryStrategy INSTANCE
DefaultHttpRequestRetryStrategy
.protected DefaultHttpRequestRetryStrategy(int maxRetries, org.apache.hc.core5.util.TimeValue defaultRetryInterval, Collection<Class<? extends IOException>> clazzes, Collection<Integer> codes)
public DefaultHttpRequestRetryStrategy(int maxRetries, org.apache.hc.core5.util.TimeValue defaultRetryInterval)
maxRetries
- how many times to retry; 0 means no retriesdefaultRetryInterval
- the default retry interval between
subsequent retries if the Retry-After
header is not set
or invalid.public DefaultHttpRequestRetryStrategy()
public boolean retryRequest(org.apache.hc.core5.http.HttpRequest request, IOException exception, int execCount, org.apache.hc.core5.http.protocol.HttpContext context)
HttpRequestRetryStrategy
retryRequest
in interface HttpRequestRetryStrategy
request
- the request failed due to an I/O exceptionexception
- the exception that occurredexecCount
- the number of times this method has been
unsuccessfully executedcontext
- the context for the request executiontrue
if the request should be retried, false
otherwisepublic boolean retryRequest(org.apache.hc.core5.http.HttpResponse response, int execCount, org.apache.hc.core5.http.protocol.HttpContext context)
HttpRequestRetryStrategy
retryRequest
in interface HttpRequestRetryStrategy
response
- the response from the target serverexecCount
- the number of times this method has been
unsuccessfully executedcontext
- the context for the request executiontrue
if the request should be retried, false
otherwisepublic org.apache.hc.core5.util.TimeValue getRetryInterval(org.apache.hc.core5.http.HttpResponse response, int execCount, org.apache.hc.core5.http.protocol.HttpContext context)
HttpRequestRetryStrategy
getRetryInterval
in interface HttpRequestRetryStrategy
response
- the response from the target serverexecCount
- the number of times this method has been
unsuccessfully executedcontext
- the context for the request executionprotected boolean handleAsIdempotent(org.apache.hc.core5.http.HttpRequest request)
Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.