Package io.ebean
Interface BackgroundExecutor
-
- All Known Subinterfaces:
SpiBackgroundExecutor
- All Known Implementing Classes:
DefaultBackgroundExecutor
public interface BackgroundExecutor
Background thread pool service for executing of tasks asynchronously.This service is used internally by Ebean for executing background tasks such as the
Query.findFutureList()
and also for executing background tasks periodically.This service has been made available so you can use it for your application code if you want. It can be useful for some server caching implementations (background population and trimming of the cache etc).
- Author:
- rbygrave
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
execute(Runnable r)
Execute a task in the background.void
executePeriodically(Runnable r, long initialDelay, long delay, TimeUnit unit)
Execute a task periodically additionally with an initial delay different from delay.void
executePeriodically(Runnable r, long delay, TimeUnit unit)
Execute a task periodically with a fixed delay between each execution.ScheduledFuture<?>
schedule(Runnable r, long delay, TimeUnit unit)
Schedules a Runnable for one-shot action that becomes enabled after the given delay.<V> ScheduledFuture<V>
schedule(Callable<V> c, long delay, TimeUnit unit)
Schedules a Callable for one-shot action that becomes enabled after the given delay.
-
-
-
Method Detail
-
executePeriodically
void executePeriodically(Runnable r, long delay, TimeUnit unit)
Execute a task periodically with a fixed delay between each execution.For example, execute a runnable every minute.
The delay is the time between executions no matter how long the task took. That is, this method has the same behaviour characteristics as
ScheduledExecutorService.scheduleWithFixedDelay(Runnable, long, long, TimeUnit)
-
executePeriodically
void executePeriodically(Runnable r, long initialDelay, long delay, TimeUnit unit)
Execute a task periodically additionally with an initial delay different from delay.
-
schedule
ScheduledFuture<?> schedule(Runnable r, long delay, TimeUnit unit)
Schedules a Runnable for one-shot action that becomes enabled after the given delay.- Returns:
- a ScheduledFuture representing pending completion of the task and whose get() method will return null upon completion
-
schedule
<V> ScheduledFuture<V> schedule(Callable<V> c, long delay, TimeUnit unit)
Schedules a Callable for one-shot action that becomes enabled after the given delay.- Returns:
- a ScheduledFuture that can be used to extract result or cancel
-
-