Class DefaultAdaptiveRetryStrategy
- java.lang.Object
-
- software.amazon.awssdk.retries.internal.BaseRetryStrategy
-
- software.amazon.awssdk.retries.internal.DefaultAdaptiveRetryStrategy
-
- All Implemented Interfaces:
AdaptiveRetryStrategy,RetryStrategy,DefaultAwareRetryStrategy
public final class DefaultAdaptiveRetryStrategy extends BaseRetryStrategy implements AdaptiveRetryStrategy
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultAdaptiveRetryStrategy.Builder
-
Field Summary
-
Fields inherited from class software.amazon.awssdk.retries.internal.BaseRetryStrategy
backoffStrategy, circuitBreakerEnabled, defaultsAdded, exceptionCost, log, maxAttempts, retryPredicates, throttlingBackoffStrategy, tokenBucketStore, treatAsThrottling, useClientDefaults
-
-
Method Summary
-
Methods inherited from class software.amazon.awssdk.retries.internal.BaseRetryStrategy
acquireInitialToken, addDefaults, exceptionCost, hasRetryPredicates, maxAttempts, recordSuccess, refreshRetryToken, retryPredicates, shouldAddDefaults, toString, useClientDefaults
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.retries.api.RetryStrategy
acquireInitialToken, maxAttempts, recordSuccess, refreshRetryToken, useClientDefaults
-
-
-
-
Method Detail
-
computeInitialBackoff
protected Duration computeInitialBackoff(AcquireInitialTokenRequest request)
Description copied from class:BaseRetryStrategyComputes the backoff before the first attempt, by defaultDuration.ZERO. Extending classes can override this method to compute different a different depending on their logic.- Overrides:
computeInitialBackoffin classBaseRetryStrategy
-
computeBackoff
protected Duration computeBackoff(RefreshRetryTokenRequest request, DefaultRetryToken token)
Description copied from class:BaseRetryStrategyComputes the backoff before a retry using the configured backoff strategy. Extending classes can override this method to compute different a different depending on their logic.- Overrides:
computeBackoffin classBaseRetryStrategy
-
updateStateForRetry
protected void updateStateForRetry(RefreshRetryTokenRequest request)
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
protected void updateStateForSuccess(DefaultRetryToken token)
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
public DefaultAdaptiveRetryStrategy.Builder toBuilder()
- Specified by:
toBuilderin interfaceAdaptiveRetryStrategy- Specified by:
toBuilderin interfaceRetryStrategy
-
builder
public static DefaultAdaptiveRetryStrategy.Builder builder()
Description copied from interface:AdaptiveRetryStrategyCreate a newAdaptiveRetryStrategy.Builder.Example Usage
AdaptiveRetryStrategy retryStrategy = AdaptiveRetryStrategy.builder() .retryOnExceptionInstanceOf(IllegalArgumentException.class) .retryOnExceptionInstanceOf(IllegalStateException.class) .build();
-
-