public class ScheduledExecutorScheduler extends AbstractLifeCycle implements Scheduler, Dumpable
Scheduler
based on JDK's ScheduledThreadPoolExecutor
.
While use of ScheduledThreadPoolExecutor
creates futures that will not be used,
it has the advantage of allowing to set a property to remove cancelled tasks from its
queue even if the task did not fire, which provides a huge benefit in the performance
of garbage collection in young generation.
AbstractLifeCycle.AbstractLifeCycleListener
Scheduler.Task
LifeCycle.Listener
Constructor and Description |
---|
ScheduledExecutorScheduler() |
ScheduledExecutorScheduler(String name,
boolean daemon) |
ScheduledExecutorScheduler(String name,
boolean daemon,
ClassLoader classLoader) |
ScheduledExecutorScheduler(String name,
boolean daemon,
ClassLoader classLoader,
ThreadGroup threadGroup) |
ScheduledExecutorScheduler(String name,
boolean daemon,
ClassLoader classLoader,
ThreadGroup threadGroup,
int threads) |
ScheduledExecutorScheduler(String name,
boolean daemon,
int threads) |
Modifier and Type | Method and Description |
---|---|
String |
dump() |
void |
dump(Appendable out,
String indent)
Dump this object (and children) into an Appendable using the provided indent after any new lines.
|
Scheduler.Task |
schedule(Runnable task,
long delay,
TimeUnit unit) |
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stop, toString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stop
dump, dumpContainer, dumpIterable, dumpMapEntries, dumpObject, dumpObjects, dumpSelf, named
public ScheduledExecutorScheduler()
public ScheduledExecutorScheduler(String name, boolean daemon)
public ScheduledExecutorScheduler(@Name(value="name") String name, @Name(value="daemon") boolean daemon, @Name(value="threads") int threads)
public ScheduledExecutorScheduler(String name, boolean daemon, ClassLoader classLoader)
public ScheduledExecutorScheduler(String name, boolean daemon, ClassLoader classLoader, ThreadGroup threadGroup)
public ScheduledExecutorScheduler(@Name(value="name") String name, @Name(value="daemon") boolean daemon, @Name(value="classLoader") ClassLoader classLoader, @Name(value="threadGroup") ThreadGroup threadGroup, @Name(value="threads") int threads)
name
- The name of the scheduler threads or null for automatic namedaemon
- True if scheduler threads should be daemonclassLoader
- The classloader to run the threads with or null to use the current thread context classloaderthreadGroup
- The threadgroup to use or null for no thread groupthreads
- The number of threads to pass to the the core ScheduledThreadPoolExecutor
or -1 for a
heuristic determined number of threads.public Scheduler.Task schedule(Runnable task, long delay, TimeUnit unit)
public void dump(Appendable out, String indent) throws IOException
Dumpable
dump
in interface Dumpable
out
- The appendable to dump toindent
- The indent to apply after any new lines.IOException
- if unable to write to AppendableCopyright © 2010 - 2020 Adobe. All Rights Reserved