Class HttpBackOffIOExceptionHandler

    • Constructor Detail

      • HttpBackOffIOExceptionHandler

        public HttpBackOffIOExceptionHandler(BackOff backOff)
        Constructs a new instance from a BackOff.
        Parameters:
        backOff - back-off policy
    • Method Detail

      • getBackOff

        public final BackOff getBackOff()
        Returns the back-off.
      • getSleeper

        public final Sleeper getSleeper()
        Returns the sleeper.
      • setSleeper

        public HttpBackOffIOExceptionHandler setSleeper(Sleeper sleeper)
        Sets the sleeper.

        The default value is Sleeper.DEFAULT.

        Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.

      • handleIOException

        public boolean handleIOException(HttpRequest request,
                                         boolean supportsRetry)
                                  throws IOException
        Invoked when an IOException is thrown during an HTTP request.

        There is a simple rule that one must follow: If you modify the request object or modify its execute interceptors in a way that should resolve the error, you must return true to issue a retry.

        Handles the request with BackOff. That means that if back-off is required a call to Sleeper.sleep(long) will be made.

        Specified by:
        handleIOException in interface  HttpIOExceptionHandler
        Parameters:
        request - request object that can be read from for context or modified before retry
        supportsRetry - whether there will actually be a retry if this handler return true . Some handlers may want to have an effect only when there will actually be a retry after they handle their event (e.g. a handler that implements backoff policy).
        Returns:
        whether or not this handler has made a change that will require the request to be re-sent.
        Throws:
        IOException