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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMax permitted retry times. -
Method Summary
Modifier and TypeMethodDescriptiondefault intcalculateExponentialDelay(int retriesAttempted, Duration baseDelay, Duration maxBackoffTime) Compute the delay before the next retry request.static BackoffStrategystatic BackoffStrategydefaultStrategy(RetryMode retryMode) static BackoffStrategystatic BackoffStrategydefaultThrottlingStrategy(RetryMode retryMode) static BackoffStrategynone()
-
Field Details
-
RETRIES_ATTEMPTED_CEILING
static final int RETRIES_ATTEMPTED_CEILINGMax permitted retry times. To prevent exponentialDelay from overflow, there must be 2 ^ retriesAttempted <= 2 ^ 31 - 1, which means retriesAttempted <= 30, so that is the ceil for retriesAttempted.
-
-
Method Details
-
computeDelayBeforeNextRetry
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
-
defaultStrategy
-
defaultStrategy
-
defaultThrottlingStrategy
-
defaultThrottlingStrategy
-
none
-