public class ConcurrentTaskExecutor extends Object implements SchedulingTaskExecutor
java.util.concurrent.Executor and
exposes a Spring TaskExecutor for it.
Also detects an extended java.util.concurrent.ExecutorService, adapting
the AsyncTaskExecutor interface accordingly.
Note that there is a pre-built ThreadPoolTaskExecutor that allows for
defining a JDK 1.5 ThreadPoolExecutor in bean style,
exposing it as a Spring TaskExecutor directly.
This is a convenient alternative to a raw ThreadPoolExecutor definition with
a separate definition of the present adapter class.
Executor,
ExecutorService,
ThreadPoolExecutor,
Executors,
ThreadPoolTaskExecutor| Constructor and Description |
|---|
ConcurrentTaskExecutor()
Create a new ConcurrentTaskExecutor,
using a single thread executor as default.
|
ConcurrentTaskExecutor(Executor concurrentExecutor)
Create a new ConcurrentTaskExecutor,
using the given JDK 1.5 concurrent executor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
execute(Runnable task) |
void |
execute(Runnable task,
long startTimeout) |
Executor |
getConcurrentExecutor()
Return the JDK 1.5 concurrent executor that this adapter delegates to.
|
boolean |
prefersShortLivedTasks()
This task executor prefers short-lived work units.
|
void |
setConcurrentExecutor(Executor concurrentExecutor)
Specify the JDK 1.5 concurrent executor to delegate to.
|
<T> Future<T> |
submit(Callable<T> task) |
Future<?> |
submit(Runnable task) |
public ConcurrentTaskExecutor()
Executors.newSingleThreadExecutor()public ConcurrentTaskExecutor(Executor concurrentExecutor)
concurrentExecutor - the JDK 1.5 concurrent executor to delegate topublic final void setConcurrentExecutor(Executor concurrentExecutor)
public final Executor getConcurrentExecutor()
public void execute(Runnable task)
public void execute(Runnable task, long startTimeout)
execute in interface org.springframework.core.task.AsyncTaskExecutorpublic Future<?> submit(Runnable task)
submit in interface org.springframework.core.task.AsyncTaskExecutorpublic <T> Future<T> submit(Callable<T> task)
submit in interface org.springframework.core.task.AsyncTaskExecutorpublic boolean prefersShortLivedTasks()
prefersShortLivedTasks in interface SchedulingTaskExecutortrue if this TaskExecutor prefers
short-lived tasks