DefaultManagedTaskExecutor を推奨 @DeprecatedSE public class WorkManagerTaskExecutor extends JndiLocatorSupport implements AsyncListenableTaskExecutor, SchedulingTaskExecutor, WorkManagerSE, InitializingBean
WorkManagerSE インターフェースを実装します。これは、参照として、または JNDI 名を介して指定する必要があります。これは、Spring コンテキストで CommonJ WorkManager を設定するための中心的な便利なクラスです。
また、CommonJ WorkManager インターフェース自体を実装し、すべての呼び出しをターゲット WorkManager に委譲します。呼び出し元は、Spring TaskExecutor インターフェースまたは CommonJ WorkManager インターフェースを介してこのエグゼキューターと通信するかどうかを選択できます。
CommonJ WorkManager は通常、サーバーの管理コンソールで定義されているように、アプリケーションサーバーの JNDI 環境から取得されます。
メモ: WebLogic および WebSphere の EE7/8 準拠バージョンでは、Java EE 7/8 での JSR-236 サポートに従って、DefaultManagedTaskExecutor を優先する必要があります。
CONTAINER_PREFIXloggerTIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITEIMMEDIATESE, INDEFINITESE| コンストラクターと説明 |
|---|
WorkManagerTaskExecutor() 使用すべきではありません。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() 使用すべきではありません。 |
void | execute(RunnableSE task) 使用すべきではありません。 指定された task を実行します。 |
void | execute(RunnableSE task, long startTimeout) 使用すべきではありません。 指定された task を実行します。 |
WorkItemSE | schedule(WorkSE work) 使用すべきではありません。 |
WorkItemSE | schedule(WorkSE work, WorkListenerSE workListener) 使用すべきではありません。 |
void | setTaskDecorator(TaskDecorator taskDecorator) 使用すべきではありません。 実行しようとしている RunnableSE に適用するカスタム TaskDecorator を指定します。 |
void | setWorkListener(WorkListenerSE workListener) 使用すべきではありません。 適用する CommonJ WorkListener を指定します(ある場合)。 |
void | setWorkManager(WorkManagerSE workManager) 使用すべきではありません。 委譲先の CommonJ WorkManager を指定します。 |
void | setWorkManagerName(StringSE workManagerName) 使用すべきではありません。 CommonJ WorkManager の JNDI 名を設定します。 |
<T> FutureSE<T> | submit(CallableSE<T> task) 使用すべきではありません。 Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。 |
FutureSE<?> | submit(RunnableSE task) 使用すべきではありません。 実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。 |
<T> ListenableFuture<T> | submitListenable(CallableSE<T> task) 使用すべきではありません。 Callable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。 |
ListenableFuture<?> | submitListenable(RunnableSE task) 使用すべきではありません。 Runnable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。 |
boolean | waitForAll(CollectionSE workItems, long timeout) 使用すべきではありません。 |
CollectionSE | waitForAny(CollectionSE workItems, long timeout) 使用すべきではありません。 |
convertJndiName, isResourceRef, lookup, lookup, setResourceRefgetJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplatecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEprefersShortLivedTaskspublic void setWorkManager(WorkManagerSE workManager)
または、ターゲット WorkManager の JNDI 名を指定することもできます。
public void setWorkManagerName(StringSE workManagerName)
これは、完全修飾 JNDI 名、または "resourceRef" が "true" に設定されている場合は現在の環境命名コンテキストに相対的な JNDI 名のいずれかになります。
public void setWorkListener(WorkListenerSE workListener)
この共有 WorkListener インスタンスは、この TaskExecutor のすべての execute(java.lang.Runnable) 呼び出しによって WorkManager に渡されます。
public void setTaskDecorator(TaskDecorator taskDecorator)
RunnableSE に適用するカスタム TaskDecorator を指定します。 このようなデコレータは、必ずしもユーザー提供の Runnable/Callable に適用されるのではなく、実際の実行コールバック(ユーザー提供のタスクのラッパーである可能性があります)に適用されることに注意してください。
主な使用例は、タスクの呼び出しの周囲に実行コンテキストを設定するか、タスク実行の監視 / 統計を提供することです。
注意 : TaskDecorator 実装での例外処理は、execute 呼び出しによる単純な Runnable 実行に制限されています。#submit 呼び出しの場合、公開された Runnable は、例外を伝搬しない FutureTask になります。例外を評価するには、キャストして Future#get を呼び出す必要がある場合があります。
public void afterPropertiesSet()
throws NamingExceptionSEInitializingBeanBeanFactoryAware、ApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean の afterPropertiesSet NamingExceptionSEpublic void execute(RunnableSE task)
TaskExecutortask を実行します。実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。
ExecutorSE の executeSE TaskExecutor の execute task - 実行する Runnable (非 null)public void execute(RunnableSE task, long startTimeout)
AsyncTaskExecutortask を実行します。AsyncTaskExecutor の execute task - 実行する Runnable (非 null)startTimeout - タスクが開始される予定の期間(ミリ秒)。これはエグゼキューターへのヒントとして意図されており、即時タスクの優先処理を可能にします。一般的な値は AsyncTaskExecutor.TIMEOUT_IMMEDIATE または AsyncTaskExecutor.TIMEOUT_INDEFINITE(TaskExecutor.execute(Runnable) で使用されるデフォルト)です。public FutureSE<?> submit(RunnableSE task)
AsyncTaskExecutornull の結果を返します。AsyncTaskExecutor の submit task - 実行する Runnable (非 null)public <T> FutureSE<T> submit(CallableSE<T> task)
AsyncTaskExecutorAsyncTaskExecutor の submit task - 実行する Callable (非 null)public ListenableFuture<?> submitListenable(RunnableSE task)
AsyncListenableTaskExecutorRunnable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は完了時に null の結果を返します。AsyncListenableTaskExecutor の submitListenable task - 実行する Runnable (非 null)ListenableFuture public <T> ListenableFuture<T> submitListenable(CallableSE<T> task)
AsyncListenableTaskExecutorCallable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は、完了時に Callable の結果を返します。AsyncListenableTaskExecutor の submitListenable task - 実行する Callable (非 null)ListenableFuture public WorkItemSE schedule(WorkSE work) throws WorkExceptionSE, IllegalArgumentExceptionSE
WorkManagerSE の scheduleSE WorkExceptionSEIllegalArgumentExceptionSEpublic WorkItemSE schedule(WorkSE work, WorkListenerSE workListener) throws WorkExceptionSE
WorkManagerSE の scheduleSE WorkExceptionSEpublic boolean waitForAll(CollectionSE workItems, long timeout) throws InterruptedExceptionSE
WorkManagerSE の waitForAllSE InterruptedExceptionSEpublic CollectionSE waitForAny(CollectionSE workItems, long timeout) throws InterruptedExceptionSE
WorkManagerSE の waitForAnySE InterruptedExceptionSE