Interface ExecutionManager
- All Known Implementing Classes:
BasicExecutionEngine
public interface ExecutionManager
Central manager for all asynchronous and scheduled tasks
-
Method Summary
Modifier and TypeMethodDescriptionvoid
executeOnce
(Runnable command) Executes a runnable one time as soon as possible.void
executeOnce
(Runnable command, long delay) Excutes a runnable one time after a delay, specified in millisecondsexecuteOnce
(Runnable command, long delay, TimeUnit unit) Executes the runnable once, after the specified delay.void
register
(String owner, String name, SelfSchedulingRunnable command) Registers a self scheduling command to be executed.void
Registers a command to be executing repeatedly at the specified rate.void
Registers a command to be executing repeatedly at the specified rate.void
registerAtFixedRate
(String owner, String name, Runnable command, int rate, TimeUnit unit) Registers a command to be executed with a fixed rate rather than a fixed delay.void
registerAtFixedRateWithInitialDelay
(String owner, String name, Runnable command, int rate, TimeUnit unit, int initialDelay) Registers a command to be executed with a fixed rate after some initial delay.void
registerWithInitialDelay
(String owner, String name, Runnable command, int rate, int initialDelay) Registers a command to be executing repeatedly at the specified rate with an initial delay.void
registerWithInitialDelay
(String owner, String name, Runnable command, int rate, TimeUnit unit, int initialDelay) Registers a command to be executing repeatedly at the specified rate with an initial delay.scheduleWithFixedDelay
(Runnable command, long initialDelay, long delay, TimeUnit unit) Schedules a runnable to execute with a fixed delay, and after an initial delay, much likeregisterWithInitialDelay(String, String, Runnable, int, TimeUnit, int)
.void
shutdown()
Stops all execution gracefully.void
unRegister
(String owner, String name) Unregisters a given command.default void
unRegister
(String owner, String name, boolean interrupt) Unregisters a given command.void
unRegisterAll
(String owner) Unregisters all commands for the given owner.
-
Method Details
-
register
Registers a command to be executing repeatedly at the specified rate. If the name is already registered, the existing execution unit will be modified.- Parameters:
owner
- name of the "owner"- just a string qualifier for the command name.name
- identifier used in conjunction with the owner to identify the command.command
- Runnable to be called at the specified rate.rateMS
- The amount of time to wait in between invocations of the command, in milliseconds.
-
register
Registers a command to be executing repeatedly at the specified rate. If the name is already registered, the existing execution unit will be modified.- Parameters:
owner
- name of the "owner"- just a string qualifier for the command name.name
- identifier used in conjunction with the owner to identify the command.command
- Runnable to be called at the specified rate.
-
register
Registers a self scheduling command to be executed. Self scheduling commands provide their own execution delay, which can change from exec to exec. -
registerWithInitialDelay
void registerWithInitialDelay(String owner, String name, Runnable command, int rate, int initialDelay) Registers a command to be executing repeatedly at the specified rate with an initial delay. -
registerWithInitialDelay
void registerWithInitialDelay(String owner, String name, Runnable command, int rate, TimeUnit unit, int initialDelay) Registers a command to be executing repeatedly at the specified rate with an initial delay. -
registerAtFixedRate
Registers a command to be executed with a fixed rate rather than a fixed delay. -
registerAtFixedRateWithInitialDelay
void registerAtFixedRateWithInitialDelay(String owner, String name, Runnable command, int rate, TimeUnit unit, int initialDelay) Registers a command to be executed with a fixed rate after some initial delay. -
executeOnce
Executes a runnable one time as soon as possible. -
executeOnce
Excutes a runnable one time after a delay, specified in milliseconds -
executeOnce
Executes the runnable once, after the specified delay. Basically passes the runnable directly to the underlying ScheduledExecutorService. The returned ScheduledFuture can be used to track/cancel the execution. -
scheduleWithFixedDelay
ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) Schedules a runnable to execute with a fixed delay, and after an initial delay, much likeregisterWithInitialDelay(String, String, Runnable, int, TimeUnit, int)
. The difference is that this method returns a ScheduledFuture that can be used to cancel the task. -
unRegister
Unregisters a given command. If it is in the process of executing, it will be interrupted. -
unRegister
Unregisters a given command. Default implementation will interrupt if it is in the process of executing.- Parameters:
interrupt
- Interrupts the execution if it is currently occurring. If false, waits for completion.
-
unRegisterAll
Unregisters all commands for the given owner. -
shutdown
void shutdown()Stops all execution gracefully.
-