com.atlassian.bamboo.executor
Class RetryingTaskExecutor<T>
java.lang.Object
com.atlassian.bamboo.executor.RetryingTaskExecutor<T>
public class RetryingTaskExecutor<T>
- extends java.lang.Object
Helper class that allows you to easily run a task that is likely to fail multiple times. It will attempt to rerun the
task using a backing off algorithm or constant time. By default backing off is used with 1000ms initial delay and 10 max retries.
Delays are capped at 60s per run. The last attempt will be at least 4 minutes after the first call.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_MAX_RETRY_DELAY
public static final long DEFAULT_MAX_RETRY_DELAY
- See Also:
- Constant Field Values
DEFAULT_MAX_RETRIES
public static final int DEFAULT_MAX_RETRIES
- See Also:
- Constant Field Values
DEFAULT_INITIAL_RETRY_DELAY
public static final int DEFAULT_INITIAL_RETRY_DELAY
- See Also:
- Constant Field Values
DEFAULT_BACK_OFF_MULTIPLIER
public static final int DEFAULT_BACK_OFF_MULTIPLIER
- See Also:
- Constant Field Values
objectToReturn
protected volatile T objectToReturn
RetryingTaskExecutor
public RetryingTaskExecutor(long initialRetryDelay,
long maxRetryDelay,
int maxRetries,
long backOffMultiplier,
boolean useExponentialBackOff,
boolean rethrowLastException)
RetryingTaskExecutor
public RetryingTaskExecutor(long initialRetryDelay,
int maxRetries)
RetryingTaskExecutor
public RetryingTaskExecutor(long initialRetryDelay,
int maxRetries,
boolean useExponentialBackOff)
RetryingTaskExecutor
public RetryingTaskExecutor(int maxRetries,
boolean rethrowLastException)
RetryingTaskExecutor
public RetryingTaskExecutor()
runTask
public void runTask(java.util.concurrent.Callable<T> task)
runTask
public void runTask(java.lang.String taskName,
java.util.concurrent.Callable<T> task)
getObjectToReturn
public T getObjectToReturn()
Copyright © 2010 Atlassian. All Rights Reserved.