org.apache.curator.utils
Class CloseableScheduledExecutorService

java.lang.Object
  extended by org.apache.curator.utils.CloseableExecutorService
      extended by org.apache.curator.utils.CloseableScheduledExecutorService
All Implemented Interfaces:
Closeable

public class CloseableScheduledExecutorService
extends CloseableExecutorService

Decoration on an ScheduledExecutorService that tracks created futures and provides a method to close futures created via this class


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.curator.utils.CloseableExecutorService
CloseableExecutorService.InternalFutureTask<T>, CloseableExecutorService.InternalScheduledFutureTask
 
Field Summary
 
Fields inherited from class org.apache.curator.utils.CloseableExecutorService
isOpen
 
Constructor Summary
CloseableScheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
           
CloseableScheduledExecutorService(ScheduledExecutorService scheduledExecutorService, boolean shutdownOnClose)
           
 
Method Summary
 Future<?> schedule(Runnable task, long delay, TimeUnit unit)
          Creates and executes a one-shot action that becomes enabled after the given delay.
 Future<?> scheduleWithFixedDelay(Runnable task, long initialDelay, long delay, TimeUnit unit)
          Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next.
 
Methods inherited from class org.apache.curator.utils.CloseableExecutorService
close, isShutdown, submit, submit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloseableScheduledExecutorService

public CloseableScheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
Parameters:
scheduledExecutorService - the service to decorate

CloseableScheduledExecutorService

public CloseableScheduledExecutorService(ScheduledExecutorService scheduledExecutorService,
                                         boolean shutdownOnClose)
Parameters:
scheduledExecutorService - the service to decorate
shutdownOnClose - if true, shutdown the executor service when this is closed
Method Detail

schedule

public Future<?> schedule(Runnable task,
                          long delay,
                          TimeUnit unit)
Creates and executes a one-shot action that becomes enabled after the given delay.

Parameters:
task - the task to execute
delay - the time from now to delay execution
unit - the time unit of the delay parameter
Returns:
a Future representing pending completion of the task and whose get() method will return null upon completion

scheduleWithFixedDelay

public Future<?> scheduleWithFixedDelay(Runnable task,
                                        long initialDelay,
                                        long delay,
                                        TimeUnit unit)
Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next. If any execution of the task encounters an exception, subsequent executions are suppressed. Otherwise, the task will only terminate via cancellation or termination of the executor.

Parameters:
task - the task to execute
initialDelay - the time to delay first execution
delay - the delay between the termination of one execution and the commencement of the next
unit - the time unit of the initialDelay and delay parameters
Returns:
a Future representing pending completion of the task, and whose get() method will throw an exception upon cancellation


Copyright © 2011–2014 The Apache Software Foundation. All rights reserved.