Class Retry.ExponentialRetryPolicy

  • All Implemented Interfaces:
    Enclosing interface:

    public static class Retry.ExponentialRetryPolicy
    extends Object
    implements Retry.RetryPolicy
    A retry policy that increases the delay time following an exponential sequence. Allowed elements that are also annotated with @Retry. Expected sequence in case factor is 2: initial delay, 2 * initial delay + jitter, 4 * initial delay + jitter, 8 * initial delay + jitter, etc. maxDelay is used to prevent endless waiting.
    • Method Detail

      • nextDelayMillis

        public Optional<Long> nextDelayMillis​(long firstCallMillis,
                                              long lastDelay,
                                              int call)
        Description copied from interface: Retry.RetryPolicy
        Return next delay in milliseconds, or an empty optional to finish retries.
        Specified by:
        nextDelayMillis in interface Retry.RetryPolicy
        firstCallMillis - milliseconds recorded before the first call using System.currentTimeMillis()
        lastDelay - last delay that was used (0 for the first failed call)
        call - call index (0 for the first failed call)
        how long to wait before trying again, or empty to notify this is the end of retries