com.atlassian.maven.plugins.sourcerelease.util
Class RetryingTaskExecutor<T>
java.lang.Object
com.atlassian.maven.plugins.sourcerelease.util.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.
|
Constructor Summary |
RetryingTaskExecutor(org.apache.maven.plugin.logging.Log log,
int maxRetries)
|
RetryingTaskExecutor(long initialRetryDelay,
long maxRetryDelay,
int maxRetries,
long backOffMultiplier,
boolean useExponentialBackOff,
boolean rethrowLastException,
org.apache.maven.plugin.logging.Log log)
|
| 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,
org.apache.maven.plugin.logging.Log log)
RetryingTaskExecutor
public RetryingTaskExecutor(org.apache.maven.plugin.logging.Log log,
int maxRetries)
runTask
public void runTask(java.util.concurrent.Callable<T> task)
throws java.lang.Exception
- Throws:
java.lang.Exception
runTask
public void runTask(java.lang.String taskName,
java.util.concurrent.Callable<T> task)
throws java.lang.Exception
- Throws:
java.lang.Exception
getObjectToReturn
public T getObjectToReturn()
Copyright © 2012 Atlassian. All Rights Reserved.