|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.scheduling.backportconcurrent.ConcurrentTaskExecutor
public class ConcurrentTaskExecutor
Adapter that takes a JSR-166 backport
edu.emory.mathcs.backport.java.util.concurrent.Executor
and
exposes a Spring TaskExecutor
for it.
NOTE: This class implements Spring's
TaskExecutor
interface (and hence implicitly
the standard Java 5 Executor
interface) as well as
the JSR-166 Executor
interface, with the former being the primary interface, the other just
serving as secondary convenience. For this reason, the exception handling
follows the TaskExecutor contract rather than the backport Executor contract, in
particular regarding the TaskRejectedException
.
Note that there is a pre-built ThreadPoolTaskExecutor
that allows for
defining a JSR-166 backport
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
,
ThreadPoolExecutor
,
Executors
,
ThreadPoolTaskExecutor
Field Summary |
---|
Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor |
---|
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE |
Constructor Summary | |
---|---|
ConcurrentTaskExecutor()
Create a new ConcurrentTaskExecutor, using a single thread executor as default. |
|
ConcurrentTaskExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)
Create a new ConcurrentTaskExecutor, using the given JSR-166 backport concurrent executor. |
Method Summary | ||
---|---|---|
void |
execute(Runnable task)
Delegates to the specified JSR-166 backport concurrent executor. |
|
void |
execute(Runnable task,
long startTimeout)
Execute the given task . |
|
edu.emory.mathcs.backport.java.util.concurrent.Executor |
getConcurrentExecutor()
Return the JSR-166 backport concurrent executor that this adapter delegates to. |
|
boolean |
prefersShortLivedTasks()
This task executor prefers short-lived work units. |
|
void |
setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)
Specify the JSR-166 backport concurrent executor to delegate to. |
|
|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConcurrentTaskExecutor()
Executors.newSingleThreadExecutor()
public ConcurrentTaskExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)
concurrentExecutor
- the JSR-166 backport concurrent executor to delegate toMethod Detail |
---|
public final void setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)
public final edu.emory.mathcs.backport.java.util.concurrent.Executor getConcurrentExecutor()
public void execute(Runnable task)
execute
in interface edu.emory.mathcs.backport.java.util.concurrent.Executor
execute
in interface TaskExecutor
task
- the Runnable
to execute (never null
)Executor.execute(Runnable)
public void execute(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 Future<?> submit(Runnable task)
AsyncTaskExecutor
null
result upon completion.
submit
in interface AsyncTaskExecutor
task
- the Runnable
to execute (never null
)
public <T> Future<T> submit(Callable<T> task)
AsyncTaskExecutor
submit
in interface AsyncTaskExecutor
task
- the Callable
to execute (never null
)
public boolean prefersShortLivedTasks()
prefersShortLivedTasks
in interface SchedulingTaskExecutor
true
if this TaskExecutor
prefers
short-lived tasks
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |