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