クラス ConcurrentTaskExecutor
- 実装されているすべてのインターフェース:
ExecutorSE、AsyncListenableTaskExecutor、AsyncTaskExecutor、TaskExecutor、SchedulingTaskExecutor
- 既知の直属サブクラス
ConcurrentTaskScheduler,DefaultManagedTaskExecutor
java.util.concurrent.Executor を受け取り、Spring TaskExecutor を公開するアダプター。また、拡張 java.util.concurrent.ExecutorService を検出し、それに応じて AsyncTaskExecutor インターフェースを適合させます。ManagedTaskEE アダプターを公開するために JSR-236 ManagedExecutorServiceEE を自動検出し、SchedulingAwareRunnable に基づく長期実行ヒントと、指定された Runnable/Callable の toString() に基づく識別名を公開します。Jakarta EE 環境での JSR-236 スタイルのルックアップについては、DefaultManagedTaskExecutor の使用を検討してください。
ThreadPoolExecutorSE を Bean スタイルで定義し、Spring TaskExecutor として直接公開できるビルド済みの ThreadPoolTaskExecutor があることに注意してください。これは、現在のアダプタークラスの個別の定義を使用した生の ThreadPoolExecutor 定義の便利な代替手段です。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明protected static class指定された Runnable/Callable を JSR-236 ManagedTask でラップし、SchedulingAwareRunnableと指定された ID 名に基づいて実行時間の長いヒントを公開するデリゲート。フィールドのサマリー
インターフェース org.springframework.core.task.AsyncTaskExecutor から継承されたフィールド
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITEコンストラクターの概要
コンストラクターコンストラクター説明使用すべきではありません。ConcurrentTaskExecutor(ExecutorSE executor) 指定されたExecutorSE を使用して、新しい ConcurrentTaskExecutor を作成します。メソッドのサマリー
修飾子と型メソッド説明voidexecute(RunnableSE task) 指定されたtaskを実行します。voidexecute(RunnableSE task, long startTimeout) 使用すべきではありません。final ExecutorSEこのアダプターが委譲するExecutorSE を返します。final voidsetConcurrentExecutor(ExecutorSE executor) 委譲先のExecutorSE を指定します。final voidsetTaskDecorator(TaskDecorator taskDecorator) 実行しようとしているRunnableSE に適用するカスタムTaskDecoratorを指定します。FutureSE<?>submit(RunnableSE task) 実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。<T> FutureSE<T>submit(CallableSE<T> task) Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。submitListenable(RunnableSE task) Runnableタスクを実行のために送信し、そのタスクを表すListenableFutureを受け取ります。<T> ListenableFuture<T>submitListenable(CallableSE<T> task) Callableタスクを実行のために送信し、そのタスクを表すListenableFutureを受け取ります。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.core.task.AsyncTaskExecutor から継承されたメソッド
submitCompletable, submitCompletableインターフェース org.springframework.scheduling.SchedulingTaskExecutor から継承されたメソッド
prefersShortLivedTasks
コンストラクターの詳細
ConcurrentTaskExecutor
使用すべきではありません。外部から提供される Executor を使用するConcurrentTaskExecutor(Executor)を推奨しますデフォルトとしてシングルスレッドエグゼキュータを使用して、新しい ConcurrentTaskExecutor を作成します。ConcurrentTaskExecutor
指定されたExecutorSE を使用して、新しい ConcurrentTaskExecutor を作成します。JSR-236
ManagedExecutorServiceEE を自動検出して、ManagedTaskEE アダプターを公開します。- パラメーター:
executor- 委譲するExecutorSE
メソッドの詳細
setConcurrentExecutor
委譲先のExecutorSE を指定します。JSR-236
ManagedExecutorServiceEE を自動検出して、ManagedTaskEE アダプターを公開します。getConcurrentExecutor
このアダプターが委譲するExecutorSE を返します。setTaskDecorator
実行しようとしているRunnableSE に適用するカスタムTaskDecoratorを指定します。このようなデコレータは、必ずしもユーザー提供の
Runnable/Callableに適用されるのではなく、実際の実行コールバック(ユーザー提供のタスクのラッパーである可能性があります)に適用されることに注意してください。主な使用例は、タスクの呼び出しの周囲に実行コンテキストを設定するか、タスク実行の監視 / 統計を提供することです。
- 導入:
- 4.3
execute
インターフェースからコピーされた説明:TaskExecutor指定されたtaskを実行します。実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。
- 次で指定:
- インターフェース
ExecutorSEのexecuteSE - 次で指定:
- インターフェース
TaskExecutorのexecute - パラメーター:
task- 実行するRunnable(非null)
execute
使用すべきではありません。インターフェースからコピーされた説明:AsyncTaskExecutor指定されたtaskを実行します。6.1 では、このメソッドにはタイムアウトを完全に無視して
TaskExecutor.execute(Runnable)に委譲するだけのデフォルト実装が付属しています。- 次で指定:
- インターフェース
AsyncTaskExecutorのexecute - パラメーター:
task- 実行するRunnable(非null)startTimeout- タスクが開始される予定の期間(ミリ秒)。これはエグゼキューターへのヒントとして意図されており、即時タスクの優先処理を可能にします。一般的な値はAsyncTaskExecutor.TIMEOUT_IMMEDIATEまたはAsyncTaskExecutor.TIMEOUT_INDEFINITE(TaskExecutor.execute(Runnable)で使用されるデフォルト)です。- 関連事項:
submit
インターフェースからコピーされた説明:AsyncTaskExecutor実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。Future は完了時にnullの結果を返します。6.1 では、このメソッドには
TaskExecutor.execute(Runnable)に委譲するデフォルトの実装が付属しています。- 次で指定:
- インターフェース
AsyncTaskExecutorのsubmit - パラメーター:
task- 実行するRunnable(非null)- 戻り値:
- タスクの保留中の完了を表す Future
submit
インターフェースからコピーされた説明:AsyncTaskExecutorCallable タスクを送信して実行し、そのタスクを表す Future を受け取ります。Future は、完了時に Callable の結果を返します。6.1 では、このメソッドには
TaskExecutor.execute(Runnable)に委譲するデフォルトの実装が付属しています。- 次で指定:
- インターフェース
AsyncTaskExecutorのsubmit - パラメーター:
task- 実行するCallable(非null)- 戻り値:
- タスクの保留中の完了を表す Future
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutorRunnableタスクを実行のために送信し、そのタスクを表すListenableFutureを受け取ります。Future は完了時にnullの結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutorのsubmitListenable - パラメーター:
task- 実行するRunnable(非null)- 戻り値:
- 保留中のタスクの完了を表す
ListenableFuture
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutorCallableタスクを実行のために送信し、そのタスクを表すListenableFutureを受け取ります。Future は、完了時に Callable の結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutorのsubmitListenable - パラメーター:
task- 実行するCallable(非null)- 戻り値:
- 保留中のタスクの完了を表す
ListenableFuture
ConcurrentTaskExecutor(Executor)を推奨します