Package org.apache.curator.retry
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 Summary
Constructors Constructor Description BoundedExponentialBackoffRetry(int baseSleepTimeMs, int maxSleepTimeMs, int maxRetries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowRetry(int retryCount, long elapsedTimeMs, RetrySleeper sleeper)
Called when an operation has failed for some reason.int
getMaxSleepTimeMs()
int
getN()
protected long
getSleepTimeMs(int retryCount, long elapsedTimeMs)
-
Methods inherited from class org.apache.curator.retry.ExponentialBackoffRetry
getBaseSleepTimeMs
-
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 Detail
-
BoundedExponentialBackoffRetry
public BoundedExponentialBackoffRetry(int baseSleepTimeMs, int maxSleepTimeMs, int maxRetries)
- Parameters:
baseSleepTimeMs
- initial amount of time to wait between retriesmaxSleepTimeMs
- maximum amount of time to wait between retriesmaxRetries
- maximum number of times to retry
-
-
Method Detail
-
getMaxSleepTimeMs
public int getMaxSleepTimeMs()
-
getSleepTimeMs
protected long getSleepTimeMs(int retryCount, long elapsedTimeMs)
- Overrides:
getSleepTimeMs
in classExponentialBackoffRetry
-
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 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
-
-