Class BoundedExponentialBackoffRetry

  • All Implemented Interfaces:
    RetryPolicy

    public class BoundedExponentialBackoffRetry
    extends ExponentialBackoffRetry
    Retry policy that retries a set number of times with an increasing (up to a maximum bound) sleep time between retries
    • Constructor Detail

      • BoundedExponentialBackoffRetry

        public BoundedExponentialBackoffRetry​(int baseSleepTimeMs,
                                              int maxSleepTimeMs,
                                              int maxRetries)
        Parameters:
        baseSleepTimeMs - initial amount of time to wait between retries
        maxSleepTimeMs - maximum amount of time to wait between retries
        maxRetries - maximum number of times to retry
    • Method Detail

      • getMaxSleepTimeMs

        public int getMaxSleepTimeMs()
      • getN

        public int getN()
      • allowRetry

        public boolean allowRetry​(int retryCount,
                                  long elapsedTimeMs,
                                  RetrySleeper sleeper)
        Description copied from interface: RetryPolicy
        Called when an operation has failed for some reason. This method should return true to make another attempt.
        Specified by:
        allowRetry in interface RetryPolicy
        Parameters:
        retryCount - the number of times retried so far (0 the first time)
        elapsedTimeMs - the elapsed time in ms since the operation was attempted
        sleeper - use this to sleep - DO NOT call Thread.sleep
        Returns:
        true/false