Class AbstractScheduledService.Scheduler
java.lang.Object
com.google.common.util.concurrent.AbstractScheduledService.Scheduler
- Direct Known Subclasses:
AbstractScheduledService.CustomScheduler
- Enclosing class:
AbstractScheduledService
A scheduler defines the policy for how the
AbstractScheduledService
should run its
task.
Consider using the newFixedDelaySchedule(java.time.Duration, java.time.Duration)
and newFixedRateSchedule(java.time.Duration, java.time.Duration)
factory
methods, these provide AbstractScheduledService.Scheduler
instances for the common use case of running the
service with a fixed schedule. If more flexibility is needed then consider subclassing AbstractScheduledService.CustomScheduler
.
- Since:
- 11.0
- Author:
- Luke Sandberg
-
Method Summary
Modifier and TypeMethodDescriptionnewFixedDelaySchedule
(long initialDelay, long delay, TimeUnit unit) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.newFixedDelaySchedule
(Duration initialDelay, Duration delay) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.newFixedRateSchedule
(long initialDelay, long period, TimeUnit unit) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.newFixedRateSchedule
(Duration initialDelay, Duration period) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.
-
Method Details
-
newFixedDelaySchedule
public static AbstractScheduledService.Scheduler newFixedDelaySchedule(Duration initialDelay, Duration delay) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.- Parameters:
initialDelay
- the time to delay first executiondelay
- the delay between the termination of one execution and the commencement of the next- Since:
- 28.0 (but only since 33.4.0 in the Android flavor)
-
newFixedDelaySchedule
public static AbstractScheduledService.Scheduler newFixedDelaySchedule(long initialDelay, long delay, TimeUnit unit) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.- Parameters:
initialDelay
- the time to delay first executiondelay
- the delay between the termination of one execution and the commencement of the nextunit
- the time unit of the initialDelay and delay parameters
-
newFixedRateSchedule
public static AbstractScheduledService.Scheduler newFixedRateSchedule(Duration initialDelay, Duration period) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.- Parameters:
initialDelay
- the time to delay first executionperiod
- the period between successive executions of the task- Since:
- 28.0 (but only since 33.4.0 in the Android flavor)
-
newFixedRateSchedule
public static AbstractScheduledService.Scheduler newFixedRateSchedule(long initialDelay, long period, TimeUnit unit) Returns aAbstractScheduledService.Scheduler
that schedules the task using theScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)
method.- Parameters:
initialDelay
- the time to delay first executionperiod
- the period between successive executions of the taskunit
- the time unit of the initialDelay and period parameters
-