Class DefaultAdaptiveRetryStrategy
java.lang.Object
software.amazon.awssdk.retries.internal.BaseRetryStrategy
software.amazon.awssdk.retries.internal.DefaultAdaptiveRetryStrategy
- All Implemented Interfaces:
AdaptiveRetryStrategy,RetryStrategy,DefaultAwareRetryStrategy
@SdkInternalApi
public final class DefaultAdaptiveRetryStrategy
extends BaseRetryStrategy
implements AdaptiveRetryStrategy
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class software.amazon.awssdk.retries.internal.BaseRetryStrategy
backoffStrategy, circuitBreakerEnabled, defaultsAdded, exceptionCost, log, maxAttempts, retryPredicates, throttlingBackoffStrategy, throttlingExceptionCost, tokenBucketStore, treatAsThrottling, useClientDefaults -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Create a newAdaptiveRetryStrategy.Builder.protected DurationcomputeBackoff(RefreshRetryTokenRequest request, DefaultRetryToken token) Computes the backoff before a retry using the configured backoff strategy.protected DurationComputes the backoff before the first attempt, by defaultDuration.ZERO.protected voidCalled insideBaseRetryStrategy.refreshRetryToken(software.amazon.awssdk.retries.api.RefreshRetryTokenRequest)to allow extending classes to update their internal state before retrying a request.protected voidCalled insideBaseRetryStrategy.recordSuccess(software.amazon.awssdk.retries.api.RecordSuccessRequest)to allow extending classes to update their internal state after a successful request.Methods inherited from class software.amazon.awssdk.retries.internal.BaseRetryStrategy
acquireInitialToken, addDefaults, computeAcquireFailureBackoff, exceptionCost, hasRetryPredicates, maxAttempts, recordSuccess, refreshRetryToken, retryPredicates, shouldAddDefaults, toString, useClientDefaultsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.awssdk.retries.api.RetryStrategy
acquireInitialToken, maxAttempts, recordSuccess, refreshRetryToken, useClientDefaults
-
Method Details
-
computeInitialBackoff
Description copied from class:BaseRetryStrategyComputes the backoff before the first attempt, by defaultDuration.ZERO. Extending classes can override this method to compute a different duration depending on their logic.- Overrides:
computeInitialBackoffin classBaseRetryStrategy
-
computeBackoff
Description copied from class:BaseRetryStrategyComputes the backoff before a retry using the configured backoff strategy. Extending classes can override this method to compute a different duration depending on their logic.- Overrides:
computeBackoffin classBaseRetryStrategy
-
updateStateForRetry
Description copied from class:BaseRetryStrategyCalled insideBaseRetryStrategy.refreshRetryToken(software.amazon.awssdk.retries.api.RefreshRetryTokenRequest)to allow extending classes to update their internal state before retrying a request.- Overrides:
updateStateForRetryin classBaseRetryStrategy
-
updateStateForSuccess
Description copied from class:BaseRetryStrategyCalled insideBaseRetryStrategy.recordSuccess(software.amazon.awssdk.retries.api.RecordSuccessRequest)to allow extending classes to update their internal state after a successful request.- Overrides:
updateStateForSuccessin classBaseRetryStrategy
-
toBuilder
- Specified by:
toBuilderin interfaceAdaptiveRetryStrategy- Specified by:
toBuilderin interfaceRetryStrategy
-
builder
Description copied from interface:AdaptiveRetryStrategyCreate a newAdaptiveRetryStrategy.Builder.Example Usage
AdaptiveRetryStrategy retryStrategy = AdaptiveRetryStrategy.builder() .retryOnExceptionInstanceOf(IllegalArgumentException.class) .retryOnExceptionInstanceOf(IllegalStateException.class) .build();
-