Package org.apache.curator.retry
Class ExponentialBackoffRetry
java.lang.Object
org.apache.curator.retry.ExponentialBackoffRetry
- All Implemented Interfaces:
RetryPolicy
- Direct Known Subclasses:
BoundedExponentialBackoffRetry
Retry policy that retries a set number of times with increasing sleep time between retries
-
Constructor Summary
ConstructorDescriptionExponentialBackoffRetry
(int baseSleepTimeMs, int maxRetries) ExponentialBackoffRetry
(int baseSleepTimeMs, int maxRetries, int maxSleepMs) -
Method Summary
Modifier and TypeMethodDescriptionboolean
allowRetry
(int retryCount, long elapsedTimeMs, RetrySleeper sleeper) Called when an operation has failed for some reason.int
int
getN()
protected long
getSleepTimeMs
(int retryCount, long elapsedTimeMs) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.curator.RetryPolicy
allowRetry
-
Constructor Details
-
ExponentialBackoffRetry
public ExponentialBackoffRetry(int baseSleepTimeMs, int maxRetries) - Parameters:
baseSleepTimeMs
- initial amount of time to wait between retriesmaxRetries
- max number of times to retry
-
ExponentialBackoffRetry
public ExponentialBackoffRetry(int baseSleepTimeMs, int maxRetries, int maxSleepMs) - Parameters:
baseSleepTimeMs
- initial amount of time to wait between retriesmaxRetries
- max number of times to retrymaxSleepMs
- max time in ms to sleep on each retry
-
-
Method Details
-
getBaseSleepTimeMs
public int getBaseSleepTimeMs() -
getSleepTimeMs
protected long getSleepTimeMs(int retryCount, long elapsedTimeMs) -
getN
public int getN() -
allowRetry
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 interfaceRetryPolicy
- Parameters:
retryCount
- the number of times retried so far (0 the first time)elapsedTimeMs
- the elapsed time in ms since the operation was attemptedsleeper
- use this to sleep - DO NOT call Thread.sleep- Returns:
- true/false
-