|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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.AsyncTaskExecutor)| Field Summary |
|---|
| Fields inherited from interface javax.resource.spi.work.WorkManager |
|---|
IMMEDIATE, INDEFINITE, UNKNOWN |
| Constructor Summary | |
|---|---|
SimpleTaskWorkManager()
|
|
| Method Summary | |
|---|---|
void |
doWork(javax.resource.spi.work.Work work)
|
void |
doWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
|
protected long |
executeWork(TaskExecutor taskExecutor,
javax.resource.spi.work.Work work,
long startTimeout,
boolean blockUntilStarted,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
Execute the given Work on the specified TaskExecutor. |
void |
scheduleWork(javax.resource.spi.work.Work work)
|
void |
scheduleWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
|
void |
setAsyncTaskExecutor(AsyncTaskExecutor 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(javax.resource.spi.work.Work work)
|
long |
startWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.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(AsyncTaskExecutor 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(javax.resource.spi.work.Work work)
throws javax.resource.spi.work.WorkException
doWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
public void doWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
throws javax.resource.spi.work.WorkException
doWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
public long startWork(javax.resource.spi.work.Work work)
throws javax.resource.spi.work.WorkException
startWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
public long startWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
throws javax.resource.spi.work.WorkException
startWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
public void scheduleWork(javax.resource.spi.work.Work work)
throws javax.resource.spi.work.WorkException
scheduleWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
public void scheduleWork(javax.resource.spi.work.Work work,
long startTimeout,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
throws javax.resource.spi.work.WorkException
scheduleWork in interface javax.resource.spi.work.WorkManagerjavax.resource.spi.work.WorkException
protected long executeWork(TaskExecutor taskExecutor,
javax.resource.spi.work.Work work,
long startTimeout,
boolean blockUntilStarted,
javax.resource.spi.work.ExecutionContext executionContext,
javax.resource.spi.work.WorkListener workListener)
throws javax.resource.spi.work.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
javax.resource.spi.work.WorkException - if the TaskExecutor did not accept the Work
|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||