org.apache.http.impl.client

## Class DefaultHttpRequestRetryHandler

- java.lang.Object
- - org.apache.http.impl.client.DefaultHttpRequestRetryHandler

- All Implemented Interfaces:
    HttpRequestRetryHandler
  Direct Known Subclasses:
    StandardHttpRequestRetryHandler

      @Contract(threading=IMMUTABLE)
      public class DefaultHttpRequestRetryHandler
      extends Object
      implements HttpRequestRetryHandler

  The default `HttpRequestRetryHandler` used by request executors.
  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DefaultHttpRequestRetryHandler` | `INSTANCE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `DefaultHttpRequestRetryHandler()` Create the request retry handler with a retry count of 3, requestSentRetryEnabled false and using the following list of non-retriable IOException classes: InterruptedIOException UnknownHostException ConnectException SSLException
    `` | `DefaultHttpRequestRetryHandler(int retryCount, boolean requestSentRetryEnabled)` Create the request retry handler using the following list of non-retriable IOException classes: InterruptedIOException UnknownHostException ConnectException SSLException
    `protected` | `DefaultHttpRequestRetryHandler(int retryCount, boolean requestSentRetryEnabled, Collection<Class<? extends IOException>> clazzes)` Create the request retry handler using the specified IOException classes

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getRetryCount()`
    `protected boolean` | `handleAsIdempotent(org.apache.http.HttpRequest request)`
    `boolean` | `isRequestSentRetryEnabled()`
    `protected boolean` | `requestIsAborted(org.apache.http.HttpRequest request)` Deprecated. (4.3)
    `boolean` | `retryRequest(IOException exception, int executionCount, org.apache.http.protocol.HttpContext context)` Used `retryCount` and `requestSentRetryEnabled` to determine if the given method should be retried.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### INSTANCE

          public static final DefaultHttpRequestRetryHandler INSTANCE

  - ### Constructor Detail

    - #### DefaultHttpRequestRetryHandler

          protected DefaultHttpRequestRetryHandler(int retryCount,
                                        boolean requestSentRetryEnabled,
                                        Collection<Class<? extends IOException>> clazzes)

      Create the request retry handler using the specified IOException classes
      Parameters:
        `retryCount` - how many times to retry; 0 means no retries
        `requestSentRetryEnabled` - true if it's OK to retry requests that have been sent
        `clazzes` - the IOException types that should not be retried
      Since:
        4.3

    - #### DefaultHttpRequestRetryHandler

          public DefaultHttpRequestRetryHandler(int retryCount,
                                        boolean requestSentRetryEnabled)

      Create the request retry handler using the following list of non-retriable IOException classes:
      - InterruptedIOException
      - UnknownHostException
      - ConnectException
      - SSLException
      Parameters:
        `retryCount` - how many times to retry; 0 means no retries
        `requestSentRetryEnabled` - true if it's OK to retry non-idempotent requests that have been sent

    - #### DefaultHttpRequestRetryHandler

          public DefaultHttpRequestRetryHandler()

      Create the request retry handler with a retry count of 3, requestSentRetryEnabled false and using the following list of non-retriable IOException classes:
      - InterruptedIOException
      - UnknownHostException
      - ConnectException
      - SSLException

  - ### Method Detail

    - #### retryRequest

          public boolean retryRequest(IOException exception,
                             int executionCount,
                             org.apache.http.protocol.HttpContext context)

      Used `retryCount` and `requestSentRetryEnabled` to determine if the given method should be retried.
      Specified by:
        `retryRequest` in interface `HttpRequestRetryHandler`
      Parameters:
        `exception` - the exception that occurred
        `executionCount` - the number of times this method has been unsuccessfully executed
        `context` - the context for the request execution
      Returns:
        `true` if the method should be retried, `false` otherwise

    - #### isRequestSentRetryEnabled

          public boolean isRequestSentRetryEnabled()

      Returns:
        `true` if this handler will retry methods that have successfully sent their request, `false` otherwise

    - #### getRetryCount

          public int getRetryCount()

      Returns:
        the maximum number of times a method will be retried

    - #### handleAsIdempotent

          protected boolean handleAsIdempotent(org.apache.http.HttpRequest request)

      Since:
        4.2

    - #### requestIsAborted

          @Deprecated
          protected boolean requestIsAborted(org.apache.http.HttpRequest request)

      Deprecated. (4.3)
      Since:
        4.2

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.