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.

@FunctionalInterface public interface BackOff
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

    Modifier and Type
    Method
    Description
    Start a new back off execution.