Classes | |
class | RetryLoop |
Public Member Functions | |
RetryingExecutorService (ScheduledExecutorService scheduledExecutorService) | |
void | setRetryDelay (long delay, TimeUnit unit) |
void | shutdown (long timeout, TimeUnit unit) throws InterruptedException |
void | submit (Callable< Boolean > callable) |
Private Attributes | |
final Map< Future< Boolean > , Callable< Boolean > > | callables |
final CompletionService< Boolean > | completionService |
final Map< Callable< Boolean > , CountDownLatch > | latches |
final Object | mutex |
long | retryDelay |
final RetryLoop | retryLoop |
TimeUnit | retryTimeUnit |
boolean | running |
final ScheduledExecutorService | scheduledExecutorService |
Static Private Attributes | |
static final boolean | DEBUG = false |
static final long | DEFAULT_RETRY_DELAY = 5 |
static final TimeUnit | DEFAULT_RETRY_TIME_UNIT = TimeUnit.SECONDS |
static final Log | log = LogFactory.getLog(RetryingExecutorService.class) |
Wraps an ScheduledExecutorService to execute Callables with retries.
Definition at line 43 of file RetryingExecutorService.java.
org.ros.concurrent.RetryingExecutorService.RetryingExecutorService | ( | ScheduledExecutorService | scheduledExecutorService | ) | [inline] |
scheduledExecutorService | the ExecutorService to wrap |
Definition at line 93 of file RetryingExecutorService.java.
void org.ros.concurrent.RetryingExecutorService.setRetryDelay | ( | long | delay, |
TimeUnit | unit | ||
) | [inline] |
delay | the delay in units of unit |
unit | the TimeUnit of the delay |
Definition at line 135 of file RetryingExecutorService.java.
void org.ros.concurrent.RetryingExecutorService.shutdown | ( | long | timeout, |
TimeUnit | unit | ||
) | throws InterruptedException [inline] |
Stops accepting new Callables and waits for all submitted Callables to finish within the specified timeout.
timeout | the timeout in units of unit |
unit | the TimeUnit of timeout |
InterruptedException |
Definition at line 150 of file RetryingExecutorService.java.
void org.ros.concurrent.RetryingExecutorService.submit | ( | Callable< Boolean > | callable | ) | [inline] |
Submit a new Callable to be executed. The submitted Callable should return
true
to be retried,
false
otherwise.
callable | the Callable to execute |
RejectedExecutionException | if the RetryingExecutorService is shutting down |
Definition at line 117 of file RetryingExecutorService.java.
final Map<Future<Boolean>, Callable<Boolean> > org.ros.concurrent.RetryingExecutorService.callables [private] |
Definition at line 54 of file RetryingExecutorService.java.
final CompletionService<Boolean> org.ros.concurrent.RetryingExecutorService.completionService [private] |
Definition at line 55 of file RetryingExecutorService.java.
final boolean org.ros.concurrent.RetryingExecutorService.DEBUG = false [static, private] |
Definition at line 45 of file RetryingExecutorService.java.
final long org.ros.concurrent.RetryingExecutorService.DEFAULT_RETRY_DELAY = 5 [static, private] |
Definition at line 48 of file RetryingExecutorService.java.
final TimeUnit org.ros.concurrent.RetryingExecutorService.DEFAULT_RETRY_TIME_UNIT = TimeUnit.SECONDS [static, private] |
Definition at line 49 of file RetryingExecutorService.java.
final Map<Callable<Boolean>, CountDownLatch> org.ros.concurrent.RetryingExecutorService.latches [private] |
Definition at line 53 of file RetryingExecutorService.java.
final Log org.ros.concurrent.RetryingExecutorService.log = LogFactory.getLog(RetryingExecutorService.class) [static, private] |
Definition at line 46 of file RetryingExecutorService.java.
final Object org.ros.concurrent.RetryingExecutorService.mutex [private] |
Definition at line 56 of file RetryingExecutorService.java.
long org.ros.concurrent.RetryingExecutorService.retryDelay [private] |
Definition at line 58 of file RetryingExecutorService.java.
final RetryLoop org.ros.concurrent.RetryingExecutorService.retryLoop [private] |
Definition at line 52 of file RetryingExecutorService.java.
TimeUnit org.ros.concurrent.RetryingExecutorService.retryTimeUnit [private] |
Definition at line 59 of file RetryingExecutorService.java.
boolean org.ros.concurrent.RetryingExecutorService.running [private] |
Definition at line 60 of file RetryingExecutorService.java.
final ScheduledExecutorService org.ros.concurrent.RetryingExecutorService.scheduledExecutorService [private] |
Definition at line 51 of file RetryingExecutorService.java.