Class FullJitterBackoffStrategy
- java.lang.Object
-
- software.amazon.awssdk.core.retry.backoff.FullJitterBackoffStrategy
-
- All Implemented Interfaces:
BackoffStrategy
,ToCopyableBuilder<FullJitterBackoffStrategy.Builder,FullJitterBackoffStrategy>
public final class FullJitterBackoffStrategy extends Object implements BackoffStrategy, ToCopyableBuilder<FullJitterBackoffStrategy.Builder,FullJitterBackoffStrategy>
Backoff strategy that uses a full jitter strategy for computing the next backoff delay. A full jitter strategy will always compute a new random delay between 0 and the computed exponential backoff for each subsequent request. For example, using a base delay of 100, a max backoff time of 10000 an exponential delay of 400 is computed for a second retry attempt. The final computed delay before the next retry will then be in the range of 0 to 400. This is in contrast toEqualJitterBackoffStrategy
that computes a new random delay where the final computed delay before the next retry will be at least half of the computed exponential delay.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
FullJitterBackoffStrategy.Builder
-
Field Summary
-
Fields inherited from interface software.amazon.awssdk.core.retry.backoff.BackoffStrategy
RETRIES_ATTEMPTED_CEILING
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FullJitterBackoffStrategy.Builder
builder()
Duration
computeDelayBeforeNextRetry(RetryPolicyContext context)
Compute the delay before the next retry request.boolean
equals(Object o)
int
hashCode()
FullJitterBackoffStrategy.Builder
toBuilder()
String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.core.retry.backoff.BackoffStrategy
calculateExponentialDelay
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
computeDelayBeforeNextRetry
public Duration computeDelayBeforeNextRetry(RetryPolicyContext context)
Description copied from interface:BackoffStrategy
Compute the delay before the next retry request. This strategy is only consulted when there will be a next retry.- Specified by:
computeDelayBeforeNextRetry
in interfaceBackoffStrategy
- 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).
-
toBuilder
public FullJitterBackoffStrategy.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<FullJitterBackoffStrategy.Builder,FullJitterBackoffStrategy>
-
builder
public static FullJitterBackoffStrategy.Builder builder()
-
-