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
Provide 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 exec = backOff.start();

 // In the operation recovery/retry loop:
 long waitInterval = exec.nextBackOff();
 if (waitInterval == BackOffExecution.STOP) {
     // do not retry operation
 }
 else {
     // sleep, e.g. 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.