Class RetryAction


  • public class RetryAction
    extends Object
    The RetryAction describes how and when a request should be retried.
    • Method Detail

      • withDuration

        public static RetryAction withDuration​(Duration duration)
        Constructs a new RetryAction indicating that the request should be retried after the given duration.
        Parameters:
        duration - the duration after which the request should be retried.
        Returns:
        a new RetryAction indicating retry.
      • noRetry

        public static RetryAction noRetry()
        Constructs a new RetryAction indicating that the request should not be retried.
        Returns:
        a new RetryAction indicating no retry.
      • noRetry

        @Volatile
        public static RetryAction noRetry​(Function<Throwable,​Throwable> exceptionTranslator)
        Constructs a new RetryAction indicating that the request should not be retried, and a specific exception should be used to fail the request.
        Parameters:
        exceptionTranslator - customizes the exception used to fail the request. If the translator creates a new exception, to preserve the error context it should use the function argument as the new exception's cause.
        Returns:
        a new RetryAction indicating no retry and a custom exception.
      • duration

        public Optional<Duration> duration()
        If present, the operation should be retried after the given duration.
        Returns:
        the duration indicating if (and when) the request should be retried.
      • exceptionTranslator

        public Function<Throwable,​Throwable> exceptionTranslator()
        If a request is cancelled as the result of this retry action, the throwable used to fail the request should be translated by this function.