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 intRETRIES_ATTEMPTED_CEILINGMax permitted retry times.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default intcalculateExponentialDelay(int retriesAttempted, Duration baseDelay, Duration maxBackoffTime)DurationcomputeDelayBeforeNextRetry(RetryPolicyContext context)Compute the delay before the next retry request.static BackoffStrategydefaultStrategy()static BackoffStrategydefaultStrategy(RetryMode retryMode)static BackoffStrategydefaultThrottlingStrategy()static BackoffStrategydefaultThrottlingStrategy(RetryMode retryMode)static BackoffStrategynone()
-
-
-
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()
-
-