public class RetryPolicies extends Object
A collection of useful implementations of RetryPolicy
.
Modifier and Type | Field and Description |
---|---|
static RetryPolicy |
RETRY_FOREVER
Keep trying forever.
|
static RetryPolicy |
TRY_ONCE_DONT_FAIL
Try once, and fail silently for
void methods, or by
re-throwing the exception for non-void methods. |
static RetryPolicy |
TRY_ONCE_THEN_FAIL
Try once, and fail by re-throwing the exception.
|
Constructor and Description |
---|
RetryPolicies() |
Modifier and Type | Method and Description |
---|---|
static RetryPolicy |
exponentialBackoffRetry(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
retryByException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
retryByRemoteException(RetryPolicy defaultPolicy,
Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for RemoteException
Set a default policy with some explicit handlers for specific exceptions.
|
static RetryPolicy |
retryUpToMaximumCountWithFixedSleep(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a fixed time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
retryUpToMaximumCountWithProportionalSleep(int maxRetries,
long sleepTime,
TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
|
static RetryPolicy |
retryUpToMaximumTimeWithFixedSleep(long maxTime,
long sleepTime,
TimeUnit timeUnit)
Keep trying for a maximum time, waiting a fixed time between attempts,
and then fail by re-throwing the exception.
|
public static final RetryPolicy TRY_ONCE_THEN_FAIL
Try once, and fail by re-throwing the exception. This corresponds to having no retry mechanism in place.
public static final RetryPolicy TRY_ONCE_DONT_FAIL
Try once, and fail silently for void
methods, or by
re-throwing the exception for non-void
methods.
public static final RetryPolicy RETRY_FOREVER
Keep trying forever.
public static final RetryPolicy retryUpToMaximumCountWithFixedSleep(int maxRetries, long sleepTime, TimeUnit timeUnit)
Keep trying a limited number of times, waiting a fixed time between attempts, and then fail by re-throwing the exception.
public static final RetryPolicy retryUpToMaximumTimeWithFixedSleep(long maxTime, long sleepTime, TimeUnit timeUnit)
Keep trying for a maximum time, waiting a fixed time between attempts, and then fail by re-throwing the exception.
public static final RetryPolicy retryUpToMaximumCountWithProportionalSleep(int maxRetries, long sleepTime, TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
The time between attempts is sleepTime
mutliplied by the number of tries so far.
public static final RetryPolicy exponentialBackoffRetry(int maxRetries, long sleepTime, TimeUnit timeUnit)
Keep trying a limited number of times, waiting a growing amount of time between attempts,
and then fail by re-throwing the exception.
The time between attempts is sleepTime
mutliplied by a random
number in the range of [0, 2 to the number of retries)
public static final RetryPolicy retryByException(RetryPolicy defaultPolicy, Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
Set a default policy with some explicit handlers for specific exceptions.
public static final RetryPolicy retryByRemoteException(RetryPolicy defaultPolicy, Map<Class<? extends Exception>,RetryPolicy> exceptionToPolicyMap)
A retry policy for RemoteException Set a default policy with some explicit handlers for specific exceptions.
Copyright © 2010 The Apache Software Foundation