@Immutable public final class RetryPolicy extends Object implements ToCopyableBuilder<RetryPolicy.Builder,RetryPolicy>
builder()
} can be used to construct a retry policy from SDK provided policies or policies that directly implement
BackoffStrategy
and/or RetryCondition
. This is configured on a client via
ClientOverrideConfiguration.Builder#retryPolicy
.
When using the builder()
the SDK will use default values for fields that are not provided. The default number of
retries and condition is based on the current RetryMode
.Modifier and Type | Class and Description |
---|---|
static interface |
RetryPolicy.Builder |
Modifier and Type | Method and Description |
---|---|
boolean |
additionalRetryConditionsAllowed()
Returns true if service-specific conditions are allowed on this policy (e.g.
|
RetryCondition |
aggregateRetryCondition()
Retrieve the retry condition that aggregates the
RetryPolicy.Builder.retryCondition(RetryCondition) ,
RetryPolicy.Builder.numRetries(Integer) and RetryPolicy.Builder.retryCapacityCondition(RetryCondition) configured on the builder. |
BackoffStrategy |
backoffStrategy()
Retrieve the
RetryPolicy.Builder.backoffStrategy(BackoffStrategy) configured on the builder. |
static RetryPolicy.Builder |
builder()
Create a
RetryPolicy.Builder populated with the defaults from the RetryMode.defaultRetryMode() . |
static RetryPolicy.Builder |
builder(RetryMode retryMode)
Create a
RetryPolicy.Builder populated with the defaults from the provided RetryMode . |
static RetryPolicy |
defaultRetryPolicy()
Create a
RetryPolicy using the RetryMode.defaultRetryMode() defaults. |
boolean |
equals(Object o) |
static RetryPolicy |
forRetryMode(RetryMode retryMode)
Create a
RetryPolicy using the provided RetryMode defaults. |
int |
hashCode() |
Boolean |
isFastFailRateLimiting()
When using
RetryMode.ADAPTIVE retry mode, this controls the client should immediately fail the request when not
enough capacity is immediately available from the rate limiter to execute the request, instead of waiting for capacity
to be available. |
static RetryPolicy |
none()
Create a
RetryPolicy that will NEVER retry. |
Integer |
numRetries()
Retrieve the
RetryPolicy.Builder.numRetries(Integer) configured on the builder. |
RetryCondition |
retryCondition()
Retrieve the
RetryPolicy.Builder.retryCondition(RetryCondition) configured on the builder. |
RetryMode |
retryMode()
Retrieve the
RetryMode that was used to determine the defaults for this retry policy. |
BackoffStrategy |
throttlingBackoffStrategy()
Retrieve the
RetryPolicy.Builder.throttlingBackoffStrategy(BackoffStrategy) configured on the builder. |
RetryPolicy.Builder |
toBuilder() |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
copy
public static RetryPolicy defaultRetryPolicy()
RetryPolicy
using the RetryMode.defaultRetryMode()
defaults.public static RetryPolicy forRetryMode(RetryMode retryMode)
RetryPolicy
using the provided RetryMode
defaults.public static RetryPolicy none()
RetryPolicy
that will NEVER retry.public static RetryPolicy.Builder builder()
RetryPolicy.Builder
populated with the defaults from the RetryMode.defaultRetryMode()
.public static RetryPolicy.Builder builder(RetryMode retryMode)
RetryPolicy.Builder
populated with the defaults from the provided RetryMode
.public RetryMode retryMode()
RetryMode
that was used to determine the defaults for this retry policy.public Boolean isFastFailRateLimiting()
RetryMode.ADAPTIVE
retry mode, this controls the client should immediately fail the request when not
enough capacity is immediately available from the rate limiter to execute the request, instead of waiting for capacity
to be available.public boolean additionalRetryConditionsAllowed()
public RetryCondition aggregateRetryCondition()
RetryPolicy.Builder.retryCondition(RetryCondition)
,
RetryPolicy.Builder.numRetries(Integer)
and RetryPolicy.Builder.retryCapacityCondition(RetryCondition)
configured on the builder.public RetryCondition retryCondition()
RetryPolicy.Builder.retryCondition(RetryCondition)
configured on the builder.public BackoffStrategy backoffStrategy()
RetryPolicy.Builder.backoffStrategy(BackoffStrategy)
configured on the builder.public BackoffStrategy throttlingBackoffStrategy()
RetryPolicy.Builder.throttlingBackoffStrategy(BackoffStrategy)
configured on the builder.public Integer numRetries()
RetryPolicy.Builder.numRetries(Integer)
configured on the builder.public RetryPolicy.Builder toBuilder()
toBuilder
in interface ToCopyableBuilder<RetryPolicy.Builder,RetryPolicy>
Copyright © 2023. All rights reserved.