Class AbstractScheduledService.CustomScheduler
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractScheduledService.Scheduler
-
- com.google.common.util.concurrent.AbstractScheduledService.CustomScheduler
-
- Enclosing class:
- AbstractScheduledService
public abstract static class AbstractScheduledService.CustomScheduler extends AbstractScheduledService.Scheduler
AAbstractScheduledService.Scheduler
that provides a convenient way for theAbstractScheduledService
to use a dynamically changing schedule. After every execution of the task, assuming it hasn't been cancelled, thegetNextSchedule()
method will be called.- Since:
- 11.0
- Author:
- Luke Sandberg
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractScheduledService.CustomScheduler.Schedule
A value object that represents an absolute delay until a task should be invoked.
-
Constructor Summary
Constructors Constructor Description CustomScheduler()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description protected abstract AbstractScheduledService.CustomScheduler.Schedule
getNextSchedule()
Calculates the time at which to next invoke the task.-
Methods inherited from class com.google.common.util.concurrent.AbstractScheduledService.Scheduler
newFixedDelaySchedule, newFixedDelaySchedule, newFixedRateSchedule, newFixedRateSchedule
-
-
-
-
Constructor Detail
-
CustomScheduler
public CustomScheduler()
-
-
Method Detail
-
getNextSchedule
protected abstract AbstractScheduledService.CustomScheduler.Schedule getNextSchedule() throws java.lang.Exception
Calculates the time at which to next invoke the task.This is guaranteed to be called immediately after the task has completed an iteration and on the same thread as the previous execution of
AbstractScheduledService.runOneIteration()
.- Returns:
- a schedule that defines the delay before the next execution.
- Throws:
java.lang.Exception
-
-