public class SimpleTaskWorkManager extends ObjectSE implements WorkManagerEE
TaskExecutor
に委譲する単純な JCA 1.7 WorkManager
EE 実装。開始タイムアウトを含む単純なタスク実行を提供しますが、JCA ExecutionContext をサポートしていません(つまり、インポートされたトランザクションをサポートしていません)。 デフォルトでは、doWork(javax.resource.spi.work.Work)
呼び出しには SyncTaskExecutor
を使用し、startWork(javax.resource.spi.work.Work)
および scheduleWork(javax.resource.spi.work.Work)
呼び出しには SimpleAsyncTaskExecutor
を使用します。これらのデフォルトのタスクエグゼキューターは、構成によってオーバーライドできます。
注意: この WorkManager は、デフォルトではスレッドプーリングを提供しません。実際のスレッドプーリングを実現するには、ThreadPoolTaskExecutor
(またはその他のスレッドプーリング TaskExecutor) を "asyncTaskExecutor" として指定します。
この WorkManager は、指定された AsyncTaskExecutor
実装を自動的に検出し、必要に応じて拡張タイムアウト機能を使用します。JCA WorkListeners は、どのような場合でも完全にサポートされています。
setSyncTaskExecutor(org.springframework.core.task.TaskExecutor)
, setAsyncTaskExecutor(org.springframework.core.task.AsyncTaskExecutor)
IMMEDIATEEE, INDEFINITEEE, UNKNOWNEE
コンストラクターと説明 |
---|
SimpleTaskWorkManager() |
修飾子と型 | メソッドと説明 |
---|---|
void | doWork(WorkEE work) |
void | doWork(WorkEE work, long startTimeout, ExecutionContextEE executionContext, WorkListenerEE workListener) |
protected long | executeWork(TaskExecutor taskExecutor, WorkEE work, long startTimeout, boolean blockUntilStarted, ExecutionContextEE executionContext, WorkListenerEE workListener) 指定された TaskExecutor で指定された Work を実行します。 |
void | scheduleWork(WorkEE work) |
void | scheduleWork(WorkEE work, long startTimeout, ExecutionContextEE executionContext, WorkListenerEE workListener) |
void | setAsyncTaskExecutor(AsyncTaskExecutor asyncTaskExecutor) 非同期の作業実行に使用する TaskExecutor を指定します(つまり |
void | setSyncTaskExecutor(TaskExecutor syncTaskExecutor) 同期作業の実行に使用する TaskExecutor を指定します(つまり |
long | startWork(WorkEE work) |
long | startWork(WorkEE work, long startTimeout, ExecutionContextEE executionContext, WorkListenerEE workListener) |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setSyncTaskExecutor(TaskExecutor syncTaskExecutor)
doWork(javax.resource.spi.work.Work)
呼び出し)に使用する TaskExecutor を指定します。 デフォルトは SyncTaskExecutor
です。
public void setAsyncTaskExecutor(AsyncTaskExecutor asyncTaskExecutor)
startWork(javax.resource.spi.work.Work)
および scheduleWork(javax.resource.spi.work.Work)
呼び出し)。 これは通常(必須ではありませんが)AsyncTaskExecutor
実装です。デフォルトは SimpleAsyncTaskExecutor
です。
public void doWork(WorkEE work) throws WorkExceptionEE
WorkManagerEE
の doWorkEE
WorkExceptionEE
public void doWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE
の doWorkEE
WorkExceptionEE
public long startWork(WorkEE work) throws WorkExceptionEE
WorkManagerEE
の startWorkEE
WorkExceptionEE
public long startWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE
の startWorkEE
WorkExceptionEE
public void scheduleWork(WorkEE work) throws WorkExceptionEE
WorkManagerEE
の scheduleWorkEE
WorkExceptionEE
public void scheduleWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE
の scheduleWorkEE
WorkExceptionEE
protected long executeWork(TaskExecutor taskExecutor, WorkEE work, long startTimeout, boolean blockUntilStarted, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
taskExecutor
- 使用する TaskExecutorwork
- 実行する作業 startTimeout
- 作業が開始されるはずの期間 blockUntilStarted
- 作業が始まるまでブロックするかどうか executionContext
- 指定された作業の JCA ExecutionContextworkListener
- WorkListener を指定された Work に表示する WorkExceptionEE
- TaskExecutor が作業を受け入れなかった場合