Interface BackoffStrategy
-
- All Known Implementing Classes:
EqualJitterBackoffStrategy
,FixedDelayBackoffStrategy
,FullJitterBackoffStrategy
- 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 BackoffStrategy
-
-
Field Summary
Fields Modifier and Type Field Description static int
RETRIES_ATTEMPTED_CEILING
Max permitted retry times.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default int
calculateExponentialDelay(int retriesAttempted, Duration baseDelay, Duration maxBackoffTime)
Duration
computeDelayBeforeNextRetry(RetryPolicyContext context)
Compute the delay before the next retry request.static BackoffStrategy
defaultStrategy()
static BackoffStrategy
defaultStrategy(RetryMode retryMode)
static BackoffStrategy
defaultThrottlingStrategy()
static BackoffStrategy
defaultThrottlingStrategy(RetryMode retryMode)
static BackoffStrategy
none()
-
-
-
Method Detail
-
computeDelayBeforeNextRetry
Duration computeDelayBeforeNextRetry(RetryPolicyContext context)
Compute the delay before the next retry request. This strategy is only consulted when there will be a next retry.- Parameters:
context
- Context about the state of the last request and information about the number of requests made.- Returns:
- Amount of time in milliseconds to wait before the next attempt. Must be non-negative (can be zero).
-
calculateExponentialDelay
default int calculateExponentialDelay(int retriesAttempted, Duration baseDelay, Duration maxBackoffTime)
-
defaultStrategy
static BackoffStrategy defaultStrategy()
-
defaultStrategy
static BackoffStrategy defaultStrategy(RetryMode retryMode)
-
defaultThrottlingStrategy
static BackoffStrategy defaultThrottlingStrategy()
-
defaultThrottlingStrategy
static BackoffStrategy defaultThrottlingStrategy(RetryMode retryMode)
-
none
static BackoffStrategy none()
-
-