Interface BackOff
- All Known Implementing Classes:
ExponentialBackOff, FixedBackOff
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Strategy interface for providing a
BackOffExecution that indicates the
rate at which an operation should be retried.
Users of this interface are expected to use it like this:
BackOffExecution execution = backOff.start();
// In the operation recovery/retry loop:
long waitInterval = execution.nextBackOff();
if (waitInterval == BackOffExecution.STOP) {
// do not retry operation
}
else {
// sleep, for example, Thread.sleep(waitInterval)
// retry operation
}
Once the underlying operation has completed successfully, the execution instance can be discarded.
- Since:
- 4.1
- Author:
- Stephane Nicoll
- See Also:
-
Method Summary
-
Method Details
-
start
BackOffExecution start()Start a new back off execution.- Returns:
- a fresh
BackOffExecutionready to be used
-