クラス ConcurrentTaskExecutor
- 実装されたすべてのインターフェース:
ExecutorSE
、AsyncListenableTaskExecutor
、AsyncTaskExecutor
、TaskExecutor
、SchedulingTaskExecutor
- 既知の直属サブクラス
ConcurrentTaskScheduler
,DefaultManagedTaskExecutor
java.util.concurrent.Executor
を受け取り、Spring TaskExecutor
を公開するアダプター。また、拡張 java.util.concurrent.ExecutorService
を検出し、それに応じて AsyncTaskExecutor
インターフェースを適合させます。ManagedTask
EE アダプターを公開するために JSR-236 ManagedExecutorService
EE を自動検出し、SchedulingAwareRunnable
に基づく長期実行ヒントと、指定された Runnable/Callable の toString()
に基づく識別名を公開します。Jakarta EE 環境での JSR-236 スタイルのルックアップについては、DefaultManagedTaskExecutor
の使用を検討してください。
ThreadPoolExecutor
SE を 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 を作成します。ConcurrentTaskExecutor
(ExecutorSE executor) 指定されたExecutor
SE を使用して、新しい ConcurrentTaskExecutor を作成します。メソッドのサマリー
修飾子と型メソッド説明void
execute
(RunnableSE task) 指定されたtask
を実行します。void
execute
(RunnableSE task, long startTimeout) 使用すべきではありません。final ExecutorSE
このアダプターが委譲するExecutor
SE を返します。final void
setConcurrentExecutor
(ExecutorSE executor) 委譲先のExecutor
SE を指定します。final void
setTaskDecorator
(TaskDecorator taskDecorator) 実行しようとしているRunnable
SE に適用するカスタム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
public ConcurrentTaskExecutor()デフォルトとしてシングルスレッドエグゼキュータを使用して、新しい ConcurrentTaskExecutor を作成します。ConcurrentTaskExecutor
指定されたExecutor
SE を使用して、新しい ConcurrentTaskExecutor を作成します。JSR-236
ManagedExecutorService
EE を自動検出して、ManagedTask
EE アダプターを公開します。- パラメーター:
executor
- 委譲するExecutor
SE
メソッドの詳細
setConcurrentExecutor
委譲先のExecutor
SE を指定します。JSR-236
ManagedExecutorService
EE を自動検出して、ManagedTask
EE アダプターを公開します。getConcurrentExecutor
このアダプターが委譲するExecutor
SE を返します。setTaskDecorator
実行しようとしているRunnable
SE に適用するカスタムTaskDecorator
を指定します。このようなデコレータは、必ずしもユーザー提供の
Runnable
/Callable
に適用されるのではなく、実際の実行コールバック(ユーザー提供のタスクのラッパーである可能性があります)に適用されることに注意してください。主な使用例は、タスクの呼び出しの周囲に実行コンテキストを設定するか、タスク実行の監視 / 統計を提供することです。
注意 :
TaskDecorator
実装での例外処理は、execute
呼び出しによる単純なRunnable
実行に制限されています。#submit
呼び出しの場合、公開されたRunnable
は、例外を伝搬しないFutureTask
になります。例外を評価するには、キャストしてFuture#get
を呼び出す必要がある場合があります。- 導入:
- 4.3
execute
インターフェースからコピーされた説明:TaskExecutor
指定されたtask
を実行します。実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。
- 次で指定:
- インターフェース
ExecutorSE
のexecuteSE
- 次で指定:
- インターフェース
TaskExecutor
のexecute
- パラメーター:
task
- 実行するRunnable
(非null
)
execute
使用すべきではありません。インターフェースからコピーされた説明:AsyncTaskExecutor
指定されたtask
を実行します。- 次で指定:
- インターフェース
AsyncTaskExecutor
のexecute
- パラメーター:
task
- 実行するRunnable
(非null
)startTimeout
- タスクが開始される予定の期間(ミリ秒)。これはエグゼキューターへのヒントとして意図されており、即時タスクの優先処理を可能にします。一般的な値はAsyncTaskExecutor.TIMEOUT_IMMEDIATE
またはAsyncTaskExecutor.TIMEOUT_INDEFINITE
(TaskExecutor.execute(Runnable)
で使用されるデフォルト)です。- 関連事項:
submit
インターフェースからコピーされた説明:AsyncTaskExecutor
実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。Future は完了時にnull
の結果を返します。- 次で指定:
- インターフェース
AsyncTaskExecutor
のsubmit
- パラメーター:
task
- 実行するRunnable
(非null
)- 戻り値:
- タスクの保留中の補完を表す Future
submit
インターフェースからコピーされた説明:AsyncTaskExecutor
Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。Future は、完了時に Callable の結果を返します。- 次で指定:
- インターフェース
AsyncTaskExecutor
のsubmit
- パラメーター:
task
- 実行するCallable
(非null
)- 戻り値:
- タスクの保留中の補完を表す Future
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutor
Runnable
タスクを実行のために送信し、そのタスクを表すListenableFuture
を受け取ります。Future は完了時にnull
の結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutor
のsubmitListenable
- パラメーター:
task
- 実行するRunnable
(非null
)- 戻り値:
- 保留中のタスクの補完を表す
ListenableFuture
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutor
Callable
タスクを実行のために送信し、そのタスクを表すListenableFuture
を受け取ります。Future は、完了時に Callable の結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutor
のsubmitListenable
- パラメーター:
task
- 実行するCallable
(非null
)- 戻り値:
- 保留中のタスクの補完を表す
ListenableFuture