public class SimpleTaskWorkManager extends ObjectSE implements WorkManagerEE
TaskExecutor に委譲する単純な JCA 1.7 WorkManagerEE 実装。開始タイムアウトを含む単純なタスク実行を提供しますが、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, waitSEpublic 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 WorkExceptionEEpublic void doWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE の doWorkEE WorkExceptionEEpublic long startWork(WorkEE work) throws WorkExceptionEE
WorkManagerEE の startWorkEE WorkExceptionEEpublic long startWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE の startWorkEE WorkExceptionEEpublic void scheduleWork(WorkEE work) throws WorkExceptionEE
WorkManagerEE の scheduleWorkEE WorkExceptionEEpublic void scheduleWork(WorkEE work, long startTimeout, @Nullable ExecutionContextEE executionContext, @Nullable WorkListenerEE workListener) throws WorkExceptionEE
WorkManagerEE の scheduleWorkEE WorkExceptionEEprotected 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 が作業を受け入れなかった場合