Class DefaultAdaptiveRetryStrategy
java.lang.Object
software.amazon.awssdk.retries.internal.BaseRetryStrategy
software.amazon.awssdk.retries.internal.DefaultAdaptiveRetryStrategy
- All Implemented Interfaces:
AutoCloseable,AdaptiveRetryStrategy,RetryStrategy,DefaultAwareRetryStrategy,SdkAutoCloseable
@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 TypeMethodDescriptionThis method implements the logic ofRetryStrategy.acquireInitialToken(AcquireInitialTokenRequest).builder()Create a newAdaptiveRetryStrategy.Builder.voidclose()This method implements the logic ofRetryStrategy.refreshRetryToken(RefreshRetryTokenRequest).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
addDefaults, computeAcquireFailureBackoff, computeBackoff, computeInitialBackoff, exceptionCost, hasRetryPredicates, logAcquireInitialToken, logRefreshTokenSuccess, maxAttempts, recordSuccess, refreshTokenOrThrow, 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
maxAttempts, recordSuccess, useClientDefaults
-
Method Details
-
acquireInitialToken
Description copied from class:BaseRetryStrategyThis method implements the logic ofRetryStrategy.acquireInitialToken(AcquireInitialTokenRequest).- Specified by:
acquireInitialTokenin interfaceRetryStrategy- Overrides:
acquireInitialTokenin classBaseRetryStrategy- See Also:
-
refreshRetryToken
Description copied from class:BaseRetryStrategyThis method implements the logic ofRetryStrategy.refreshRetryToken(RefreshRetryTokenRequest).- Specified by:
refreshRetryTokenin interfaceRetryStrategy- Overrides:
refreshRetryTokenin classBaseRetryStrategy- See Also:
-
acquireInitialTokenAsync
public CompletableFuture<AcquireInitialTokenResponse> acquireInitialTokenAsync(AcquireInitialTokenRequest request) - Specified by:
acquireInitialTokenAsyncin interfaceRetryStrategy
-
refreshRetryTokenAsync
public CompletableFuture<RefreshRetryTokenResponse> refreshRetryTokenAsync(RefreshRetryTokenRequest request) - Specified by:
refreshRetryTokenAsyncin interfaceRetryStrategy
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceRetryStrategy- Specified by:
closein interfaceSdkAutoCloseable
-
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();
-