|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jca.work.SimpleTaskWorkManager
public class SimpleTaskWorkManager
Simple JCA 1.5 WorkManager
implementation that
delegates to a Spring TaskExecutor
.
Provides simple task execution including start timeouts, but without support
for a JCA ExecutionContext (i.e. without support for imported transactions).
Uses a SyncTaskExecutor
for doWork(javax.resource.spi.work.Work)
calls and a SimpleAsyncTaskExecutor
for startWork(javax.resource.spi.work.Work)
and scheduleWork(javax.resource.spi.work.Work)
calls, by default.
These default task executors can be overridden through configuration.
NOTE: This WorkManager does not provide thread pooling by default!
Specify a ThreadPoolTaskExecutor
(or any other thread-pooling TaskExecutor) as "asyncTaskExecutor" in order to
achieve actual thread pooling.
This WorkManager automatically detects a specified
AsyncTaskExecutor
implementation
and uses its extended timeout functionality where appropriate.
JCA WorkListeners are fully supported in any case.
setSyncTaskExecutor(org.springframework.core.task.TaskExecutor)
,
setAsyncTaskExecutor(org.springframework.core.task.TaskExecutor)
Field Summary |
---|
Fields inherited from interface javax.resource.spi.work.WorkManager |
---|
IMMEDIATE, INDEFINITE, UNKNOWN |
Constructor Summary | |
---|---|
SimpleTaskWorkManager()
|
Method Summary | |
---|---|
void |
doWork(Work work)
|
void |
doWork(Work work,
long startTimeout,
ExecutionContext executionContext,
WorkListener workListener)
|
protected long |
executeWork(TaskExecutor taskExecutor,
Work work,
long startTimeout,
boolean blockUntilStarted,
ExecutionContext executionContext,
WorkListener workListener)
Execute the given Work on the specified TaskExecutor. |
void |
scheduleWork(Work work)
|
void |
scheduleWork(Work work,
long startTimeout,
ExecutionContext executionContext,
WorkListener workListener)
|
void |
setAsyncTaskExecutor(TaskExecutor asyncTaskExecutor)
Specify the TaskExecutor to use for asynchronous work execution (i.e. |
void |
setSyncTaskExecutor(TaskExecutor syncTaskExecutor)
Specify the TaskExecutor to use for synchronous work execution (i.e. |
long |
startWork(Work work)
|
long |
startWork(Work work,
long startTimeout,
ExecutionContext executionContext,
WorkListener workListener)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SimpleTaskWorkManager()
Method Detail |
---|
public void setSyncTaskExecutor(TaskExecutor syncTaskExecutor)
doWork(javax.resource.spi.work.Work)
calls).
Default is a SyncTaskExecutor
.
public void setAsyncTaskExecutor(TaskExecutor asyncTaskExecutor)
startWork(javax.resource.spi.work.Work)
and scheduleWork(javax.resource.spi.work.Work)
calls).
This will typically (but not necessarily) be an
AsyncTaskExecutor
implementation.
Default is a SimpleAsyncTaskExecutor
.
public void doWork(Work work) throws WorkException
doWork
in interface WorkManager
WorkException
public void doWork(Work work, long startTimeout, ExecutionContext executionContext, WorkListener workListener) throws WorkException
doWork
in interface WorkManager
WorkException
public long startWork(Work work) throws WorkException
startWork
in interface WorkManager
WorkException
public long startWork(Work work, long startTimeout, ExecutionContext executionContext, WorkListener workListener) throws WorkException
startWork
in interface WorkManager
WorkException
public void scheduleWork(Work work) throws WorkException
scheduleWork
in interface WorkManager
WorkException
public void scheduleWork(Work work, long startTimeout, ExecutionContext executionContext, WorkListener workListener) throws WorkException
scheduleWork
in interface WorkManager
WorkException
protected long executeWork(TaskExecutor taskExecutor, Work work, long startTimeout, boolean blockUntilStarted, ExecutionContext executionContext, WorkListener workListener) throws WorkException
taskExecutor
- the TaskExecutor to usework
- the Work to executestartTimeout
- the time duration within which the Work is supposed to startblockUntilStarted
- whether to block until the Work has startedexecutionContext
- the JCA ExecutionContext for the given WorkworkListener
- the WorkListener to clal for the given Work
WorkException
- if the TaskExecutor did not accept the Work
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |