public class TaskExecutorAdapter extends Object implements AsyncListenableTaskExecutor
java.util.concurrent.Executor and
exposes a Spring TaskExecutor for it.
Also detects an extended java.util.concurrent.ExecutorService, adapting
the AsyncTaskExecutor interface accordingly.Executor,
ExecutorService,
ExecutorsTIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE| Constructor and Description |
|---|
TaskExecutorAdapter(Executor concurrentExecutor)
Create a new TaskExecutorAdapter,
using the given JDK concurrent executor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
execute(Runnable task)
Delegates to the specified JDK concurrent executor.
|
void |
execute(Runnable task,
long startTimeout)
Execute the given
task. |
<T> Future<T> |
submit(Callable<T> task)
Submit a Callable task for execution, receiving a Future representing that task.
|
Future<?> |
submit(Runnable task)
Submit a Runnable task for execution, receiving a Future representing that task.
|
<T> ListenableFuture<T> |
submitListenable(Callable<T> task)
Submit a
Callable task for execution, receiving a ListenableFuture
representing that task. |
ListenableFuture<?> |
submitListenable(Runnable task)
Submit a
Runnable task for execution, receiving a ListenableFuture
representing that task. |
public TaskExecutorAdapter(Executor concurrentExecutor)
concurrentExecutor - the JDK concurrent executor to delegate topublic void execute(Runnable task)
execute in interface Executorexecute in interface TaskExecutortask - the Runnable to execute (never null)Executor.execute(Runnable)public void execute(Runnable task, long startTimeout)
AsyncTaskExecutortask.execute in interface AsyncTaskExecutortask - the Runnable to execute (never null)startTimeout - the time duration (milliseconds) within which the task is
supposed to start. This is intended as a hint to the executor, allowing for
preferred handling of immediate tasks. Typical values are AsyncTaskExecutor.TIMEOUT_IMMEDIATE
or AsyncTaskExecutor.TIMEOUT_INDEFINITE (the default as used by TaskExecutor.execute(Runnable)).public Future<?> submit(Runnable task)
AsyncTaskExecutornull result upon completion.submit in interface AsyncTaskExecutortask - the Runnable to execute (never null)public <T> Future<T> submit(Callable<T> task)
AsyncTaskExecutorsubmit in interface AsyncTaskExecutortask - the Callable to execute (never null)public ListenableFuture<?> submitListenable(Runnable task)
AsyncListenableTaskExecutorRunnable task for execution, receiving a ListenableFuture
representing that task. The Future will return a null result upon completion.submitListenable in interface AsyncListenableTaskExecutortask - the Runnable to execute (never null)ListenableFuture representing pending completion of the taskpublic <T> ListenableFuture<T> submitListenable(Callable<T> task)
AsyncListenableTaskExecutorCallable task for execution, receiving a ListenableFuture
representing that task. The Future will return the Callable's result upon
completion.submitListenable in interface AsyncListenableTaskExecutortask - the Callable to execute (never null)ListenableFuture representing pending completion of the task