org.apache.curator.retry
Class ExponentialBackoffRetry

java.lang.Object
  extended by org.apache.curator.retry.ExponentialBackoffRetry
All Implemented Interfaces:
RetryPolicy
Direct Known Subclasses:
BoundedExponentialBackoffRetry

public class ExponentialBackoffRetry
extends Object

Retry policy that retries a set number of times with increasing sleep time between retries


Constructor Summary
ExponentialBackoffRetry(int baseSleepTimeMs, int maxRetries)
           
ExponentialBackoffRetry(int baseSleepTimeMs, int maxRetries, int maxSleepMs)
           
 
Method Summary
 boolean allowRetry(int retryCount, long elapsedTimeMs, RetrySleeper sleeper)
          Called when an operation has failed for some reason.
 int getBaseSleepTimeMs()
           
 int getN()
           
protected  int getSleepTimeMs(int retryCount, long elapsedTimeMs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExponentialBackoffRetry

public ExponentialBackoffRetry(int baseSleepTimeMs,
                               int maxRetries)
Parameters:
baseSleepTimeMs - initial amount of time to wait between retries
maxRetries - max number of times to retry

ExponentialBackoffRetry

public ExponentialBackoffRetry(int baseSleepTimeMs,
                               int maxRetries,
                               int maxSleepMs)
Parameters:
baseSleepTimeMs - initial amount of time to wait between retries
maxRetries - max number of times to retry
maxSleepMs - max time in ms to sleep on each retry
Method Detail

getBaseSleepTimeMs

public int getBaseSleepTimeMs()

getSleepTimeMs

protected int getSleepTimeMs(int retryCount,
                             long elapsedTimeMs)

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


Copyright © 2011–2014 The Apache Software Foundation. All rights reserved.