@NonNullApi
public interface BackgroundExecutor
Background executor service for executing of tasks asynchronously.
This service can be used to execute tasks in the background.
This service is managed by Ebean and will perform a clean shutdown waiting for background tasks to complete with a default 30 second timeout. Shutdown occurs prior to DataSource shutdown.
This also propagates MDC context from the current thread to the background task if defined.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Execute a task in the background.Schedules a Runnable for one-shot action that becomes enabled after the given delay.<V> ScheduledFuture<V>
Schedules a Callable for one-shot action that becomes enabled after the given delay.scheduleAtFixedRate
(Runnable task, long initialDelay, long period, TimeUnit unit) Execute a task periodically with a given period.scheduleWithFixedDelay
(Runnable task, long initialDelay, long delay, TimeUnit unit) Execute a task periodically with a given delay.Future<?>
Execute a runnable task in the background returning the Future.<T> Future<T>
Execute a callable task in the background returning the Future.
-
Method Details
-
submit
Execute a callable task in the background returning the Future. -
submit
Execute a runnable task in the background returning the Future. -
execute
Execute a task in the background. Effectively the same assubmit(Runnable)
but returns void. -
scheduleWithFixedDelay
ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long initialDelay, long delay, TimeUnit unit) Execute a task periodically with a given delay.- Parameters:
task
- the task to executeinitialDelay
- 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- Returns:
- a ScheduledFuture representing pending completion of
the series of repeated tasks. The future's
get()
method will never return normally, and will throw an exception upon task cancellation or abnormal termination of a task execution.
-
scheduleAtFixedRate
ScheduledFuture<?> scheduleAtFixedRate(Runnable task, long initialDelay, long period, TimeUnit unit) Execute a task periodically with a given period.If any execution of this task takes longer than its period, then subsequent executions may start late, but will not concurrently execute.
- Parameters:
task
- the task to executeinitialDelay
- the time to delay first executionperiod
- the period between successive executionsunit
- the time unit of the initialDelay and period parameters- Returns:
- a ScheduledFuture representing pending completion of
the series of repeated tasks. The future's
get()
method will never return normally, and will throw an exception upon task cancellation or abnormal termination of a task execution.
-
schedule
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
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
-