public class TaskExecutorAdapter extends java.lang.Object implements AsyncTaskExecutor
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
,
Executors
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.Executor |
concurrentExecutor |
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
Constructor and Description |
---|
TaskExecutorAdapter(java.util.concurrent.Executor concurrentExecutor)
Create a new TaskExecutorAdapter,
using the given JDK 1.5 concurrent executor.
|
Modifier and Type | Method and Description |
---|---|
void |
execute(java.lang.Runnable task)
Delegates to the specified JDK 1.5 concurrent executor.
|
void |
execute(java.lang.Runnable task,
long startTimeout)
Execute the given
task . |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> task)
Submit a Callable task for execution, receiving a Future representing that task.
|
java.util.concurrent.Future<?> |
submit(java.lang.Runnable task)
Submit a Runnable task for execution, receiving a Future representing that task.
|
public TaskExecutorAdapter(java.util.concurrent.Executor concurrentExecutor)
concurrentExecutor
- the JDK 1.5 concurrent executor to delegate topublic void execute(java.lang.Runnable task)
execute
in interface java.util.concurrent.Executor
execute
in interface TaskExecutor
task
- the Runnable
to execute (never null
)Executor.execute(Runnable)
public void execute(java.lang.Runnable task, long startTimeout)
AsyncTaskExecutor
task
.execute
in interface AsyncTaskExecutor
task
- 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 java.util.concurrent.Future<?> submit(java.lang.Runnable task)
AsyncTaskExecutor
null
result upon completion.submit
in interface AsyncTaskExecutor
task
- the Runnable
to execute (never null
)public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
AsyncTaskExecutor
submit
in interface AsyncTaskExecutor
task
- the Callable
to execute (never null
)