Class BoundedExponentialBackoffRetry

java.lang.Object
org.apache.curator.retry.ExponentialBackoffRetry
org.apache.curator.retry.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 Details

    • 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 Details

    • getMaxSleepTimeMs

      public int getMaxSleepTimeMs()
    • getSleepTimeMs

      protected long getSleepTimeMs(int retryCount, long elapsedTimeMs)
      Overrides:
      getSleepTimeMs in class ExponentialBackoffRetry
    • 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