public final class DefaultAdaptiveRetryStrategy extends BaseRetryStrategy implements AdaptiveRetryStrategy
| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultAdaptiveRetryStrategy.Builder |
backoffStrategy, circuitBreakerEnabled, defaultsAdded, exceptionCost, log, maxAttempts, retryPredicates, throttlingBackoffStrategy, tokenBucketStore, treatAsThrottling, useClientDefaults| Modifier and Type | Method and Description |
|---|---|
static DefaultAdaptiveRetryStrategy.Builder |
builder()
Create a new
AdaptiveRetryStrategy.Builder. |
protected Duration |
computeBackoff(RefreshRetryTokenRequest request,
DefaultRetryToken token)
Computes the backoff before a retry using the configured backoff strategy.
|
protected Duration |
computeInitialBackoff(AcquireInitialTokenRequest request)
Computes the backoff before the first attempt, by default
Duration.ZERO. |
DefaultAdaptiveRetryStrategy.Builder |
toBuilder()
Create a new
RetryStrategy.Builder with the current configuration. |
protected void |
updateStateForRetry(RefreshRetryTokenRequest request)
Called inside
BaseRetryStrategy.refreshRetryToken(com.ibm.cos.v2.retries.api.RefreshRetryTokenRequest) to allow extending classes to update their internal state before retrying a
request. |
protected void |
updateStateForSuccess(DefaultRetryToken token)
Called inside
BaseRetryStrategy.recordSuccess(com.ibm.cos.v2.retries.api.RecordSuccessRequest) to allow extending classes to update their internal state after a successful request. |
acquireInitialToken, addDefaults, exceptionCost, hasRetryPredicates, maxAttempts, recordSuccess, refreshRetryToken, retryPredicates, shouldAddDefaults, toString, useClientDefaultsclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitacquireInitialToken, maxAttempts, recordSuccess, refreshRetryToken, useClientDefaultsprotected Duration computeInitialBackoff(AcquireInitialTokenRequest request)
BaseRetryStrategyDuration.ZERO. Extending classes can override this method
to compute different a different depending on their logic.computeInitialBackoff in class BaseRetryStrategyprotected Duration computeBackoff(RefreshRetryTokenRequest request, DefaultRetryToken token)
BaseRetryStrategycomputeBackoff in class BaseRetryStrategyprotected void updateStateForRetry(RefreshRetryTokenRequest request)
BaseRetryStrategyBaseRetryStrategy.refreshRetryToken(com.ibm.cos.v2.retries.api.RefreshRetryTokenRequest) to allow extending classes to update their internal state before retrying a
request.updateStateForRetry in class BaseRetryStrategyprotected void updateStateForSuccess(DefaultRetryToken token)
BaseRetryStrategyBaseRetryStrategy.recordSuccess(com.ibm.cos.v2.retries.api.RecordSuccessRequest) to allow extending classes to update their internal state after a successful request.updateStateForSuccess in class BaseRetryStrategypublic DefaultAdaptiveRetryStrategy.Builder toBuilder()
RetryStrategyRetryStrategy.Builder with the current configuration.
This is useful for modifying the strategy's behavior, like conditions or max retries.
toBuilder in interface AdaptiveRetryStrategytoBuilder in interface RetryStrategypublic static DefaultAdaptiveRetryStrategy.Builder builder()
AdaptiveRetryStrategyAdaptiveRetryStrategy.Builder.
Example Usage
AdaptiveRetryStrategy retryStrategy =
AdaptiveRetryStrategy.builder()
.retryOnExceptionInstanceOf(IllegalArgumentException.class)
.retryOnExceptionInstanceOf(IllegalStateException.class)
.build();
builder in interface AdaptiveRetryStrategyCopyright © 2026. All rights reserved.