クラス ConcurrentTaskScheduler
- 実装されたすべてのインターフェース:
ExecutorSE
、AsyncListenableTaskExecutor
、AsyncTaskExecutor
、TaskExecutor
、SchedulingTaskExecutor
、TaskScheduler
- 既知の直属サブクラス
DefaultManagedTaskScheduler
java.util.concurrent.ScheduledExecutorService
を受け取り、Spring TaskScheduler
を公開するアダプター。SchedulingTaskExecutor
インターフェースも実装するために、ConcurrentTaskExecutor
を拡張します。 可能であればトリガーベースのスケジューリングに使用するために、JSR-236 ManagedScheduledExecutorService
EE を自動検出します。Spring のローカルトリガー管理ではなく、java.util.concurrent.ScheduledExecutorService
API に対する通常の遅延ベースのスケジューリングに委譲されます。Jakarta EE 環境での JSR-236 スタイルのルックアップについては、DefaultManagedTaskScheduler
の使用を検討してください。
ScheduledThreadPoolExecutor
SE を Bean スタイルで定義し、Spring TaskScheduler
として直接公開できるビルド済みの ThreadPoolTaskScheduler
があることに注意してください。これは、現在のアダプタークラスの個別の定義を使用した生の ScheduledThreadPoolExecutor 定義の便利な代替手段です。
- 導入:
- 3.0
- 作成者:
- Juergen Hoeller, Mark Fisher, Arjen Poutsma
- 関連事項:
ネストされたクラスのサマリー
クラス org.springframework.scheduling.concurrent.ConcurrentTaskExecutor から継承されたネストクラス / インターフェース
ConcurrentTaskExecutor.ManagedTaskBuilder
フィールドサマリー
インターフェース org.springframework.core.task.AsyncTaskExecutor から継承されたフィールド
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
コンストラクターのサマリー
コンストラクター説明使用すべきではありません。ConcurrentTaskScheduler
(ExecutorSE concurrentExecutor, ScheduledExecutorServiceSE scheduledExecutor) 指定されたExecutor
SE およびScheduledExecutorService
SE をデリゲートとして使用して、新しい ConcurrentTaskScheduler を作成します。ConcurrentTaskScheduler
(ScheduledExecutorServiceSE scheduledExecutor) 指定されたScheduledExecutorService
SE を共有デリゲートとして使用して、新しい ConcurrentTaskScheduler を作成します。方法の概要
修飾子と型メソッド説明void
execute
(RunnableSE task) 指定されたtask
を実行します。getClock()
スケジューリングの目的で使用する監視を返します。schedule
(RunnableSE task, InstantSE startTime) 指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出します。schedule
(RunnableSE task, Trigger trigger) 指定されたRunnable
SE をスケジュールし、トリガーが次の実行時間を示すたびに呼び出します。scheduleAtFixedRate
(RunnableSE task, DurationSE period) 指定されたRunnable
SE をスケジュールします。できるだけ早く開始し、指定された期間で呼び出します。scheduleAtFixedRate
(RunnableSE task, InstantSE startTime, DurationSE period) 指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出し、その後、指定された期間で呼び出します。scheduleWithFixedDelay
(RunnableSE task, DurationSE delay) 指定されたRunnable
SE をスケジュールします。できるだけ早く開始し、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。scheduleWithFixedDelay
(RunnableSE task, InstantSE startTime, DurationSE delay) 指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出し、その後、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。void
スケジューリングの目的で使用する監視を設定します。void
setErrorHandler
(ErrorHandler errorHandler) ErrorHandler
戦略を提供します。void
setScheduledExecutor
(ScheduledExecutorServiceSE scheduledExecutor) 委譲先のScheduledExecutorService
SE を指定します。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
を受け取ります。クラス org.springframework.scheduling.concurrent.ConcurrentTaskExecutor から継承されたメソッド
execute, getConcurrentExecutor, setConcurrentExecutor, setTaskDecorator
クラス 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
インターフェース org.springframework.scheduling.TaskScheduler から継承されたメソッド
schedule, scheduleAtFixedRate, scheduleAtFixedRate, scheduleWithFixedDelay, scheduleWithFixedDelay
コンストラクターの詳細
ConcurrentTaskScheduler
使用すべきではありません。外部から提供される Executor を使用するConcurrentTaskScheduler(ScheduledExecutorService)
を推奨しますデフォルトとしてシングルスレッドエグゼキュータを使用して、新しい ConcurrentTaskScheduler を作成します。ConcurrentTaskScheduler
指定されたScheduledExecutorService
SE を共有デリゲートとして使用して、新しい ConcurrentTaskScheduler を作成します。Spring のローカルトリガー管理の代わりに、可能であればトリガーベースのスケジューリングに使用するために、JSR-236
ManagedScheduledExecutorService
EE を自動検出します。- パラメーター:
scheduledExecutor
-SchedulingTaskExecutor
およびTaskScheduler
呼び出しのために委譲するScheduledExecutorService
SE
ConcurrentTaskScheduler
public ConcurrentTaskScheduler(ExecutorSE concurrentExecutor, ScheduledExecutorServiceSE scheduledExecutor) 指定されたExecutor
SE およびScheduledExecutorService
SE をデリゲートとして使用して、新しい ConcurrentTaskScheduler を作成します。Spring のローカルトリガー管理の代わりに、可能であればトリガーベースのスケジューリングに使用するために、JSR-236
ManagedScheduledExecutorService
EE を自動検出します。- パラメーター:
concurrentExecutor
-SchedulingTaskExecutor
呼び出しのために委譲するExecutor
SEscheduledExecutor
-TaskScheduler
呼び出しのために委譲するScheduledExecutorService
SE
メソッドの詳細
setScheduledExecutor
委譲先のScheduledExecutorService
SE を指定します。Spring のローカルトリガー管理の代わりに、可能であればトリガーベースのスケジューリングに使用するために、JSR-236
ManagedScheduledExecutorService
EE を自動検出します。メモ: これは
TaskScheduler
呼び出しにのみ適用されます。特定のエグゼキューターをSchedulingTaskExecutor
呼び出しにも適用したい場合は、同じエグゼキューター参照をConcurrentTaskExecutor.setConcurrentExecutor(java.util.concurrent.Executor)
に渡します。setErrorHandler
ErrorHandler
戦略を提供します。setClock
スケジューリングの目的で使用する監視を設定します。デフォルトのクロックは、デフォルトのタイムゾーンのシステムクロックです。
- 導入:
- 5.3
- 関連事項:
getClock
インターフェースからコピーされた説明:TaskScheduler
スケジューリングの目的で使用する監視を返します。- 次で指定:
- インターフェース
TaskScheduler
のgetClock
- 関連事項:
execute
インターフェースからコピーされた説明:TaskExecutor
指定されたtask
を実行します。実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。
- 次で指定:
- インターフェース
ExecutorSE
のexecuteSE
- 次で指定:
- インターフェース
TaskExecutor
のexecute
- オーバーライド:
- クラス
ConcurrentTaskExecutor
のexecute
- パラメーター:
task
- 実行するRunnable
(非null
)
submit
インターフェースからコピーされた説明:AsyncTaskExecutor
実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。Future は完了時にnull
の結果を返します。6.1 では、このメソッドには
TaskExecutor.execute(Runnable)
に委譲するデフォルトの実装が付属しています。- 次で指定:
- インターフェース
AsyncTaskExecutor
のsubmit
- オーバーライド:
- クラス
ConcurrentTaskExecutor
のsubmit
- パラメーター:
task
- 実行するRunnable
(非null
)- 戻り値:
- タスクの保留中の完了を表す Future
submit
インターフェースからコピーされた説明:AsyncTaskExecutor
Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。Future は、完了時に Callable の結果を返します。6.1 では、このメソッドには
TaskExecutor.execute(Runnable)
に委譲するデフォルトの実装が付属しています。- 次で指定:
- インターフェース
AsyncTaskExecutor
のsubmit
- オーバーライド:
- クラス
ConcurrentTaskExecutor
のsubmit
- パラメーター:
task
- 実行するCallable
(非null
)- 戻り値:
- タスクの保留中の完了を表す Future
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutor
Runnable
タスクを実行のために送信し、そのタスクを表すListenableFuture
を受け取ります。Future は完了時にnull
の結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutor
のsubmitListenable
- オーバーライド:
- クラス
ConcurrentTaskExecutor
のsubmitListenable
- パラメーター:
task
- 実行するRunnable
(非null
)- 戻り値:
- 保留中のタスクの完了を表す
ListenableFuture
submitListenable
インターフェースからコピーされた説明:AsyncListenableTaskExecutor
Callable
タスクを実行のために送信し、そのタスクを表すListenableFuture
を受け取ります。Future は、完了時に Callable の結果を返します。- 次で指定:
- インターフェース
AsyncListenableTaskExecutor
のsubmitListenable
- オーバーライド:
- クラス
ConcurrentTaskExecutor
のsubmitListenable
- パラメーター:
task
- 実行するCallable
(非null
)- 戻り値:
- 保留中のタスクの完了を表す
ListenableFuture
schedule
インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールし、トリガーが次の実行時間を示すたびに呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のschedule
- パラメーター:
task
- トリガーが起動するたびに実行する Runnabletrigger
-Trigger
インターフェースの実装、たとえば cron 式をラップするCronTrigger
オブジェクト- 戻り値:
- タスクの実行保留を表す
ScheduledFuture
SE、または指定されたトリガーオブジェクトが決して起動しない場合はnull
(つまり、Trigger.nextExecution(org.springframework.scheduling.TriggerContext)
からnull
を返します) - 関連事項:
schedule
インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のschedule
- パラメーター:
task
- トリガーが起動するたびに実行する RunnablestartTime
- タスクの望ましい実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)- 戻り値:
- タスクの保留中の実行を表す
ScheduledFuture
SE
scheduleAtFixedRate
public ScheduledFutureSE<?> scheduleAtFixedRate(RunnableSE task, InstantSE startTime, DurationSE period) インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出し、その後、指定された期間で呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のscheduleAtFixedRate
- パラメーター:
task
- トリガーが起動するたびに実行する RunnablestartTime
- タスクに必要な最初の実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)period
- タスクの連続した実行の間隔- 戻り値:
- タスクの保留中の実行を表す
ScheduledFuture
SE
scheduleAtFixedRate
インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールします。できるだけ早く開始し、指定された期間で呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のscheduleAtFixedRate
- パラメーター:
task
- トリガーが起動するたびに実行する Runnableperiod
- タスクの連続した実行の間隔- 戻り値:
- タスクの保留中の実行を表す
ScheduledFuture
SE
scheduleWithFixedDelay
public ScheduledFutureSE<?> scheduleWithFixedDelay(RunnableSE task, InstantSE startTime, DurationSE delay) インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールし、指定された実行時間に呼び出し、その後、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のscheduleWithFixedDelay
- パラメーター:
task
- トリガーが起動するたびに実行する RunnablestartTime
- タスクに必要な最初の実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)delay
- ある実行の補完から次の実行の開始までの遅延- 戻り値:
- タスクの保留中の実行を表す
ScheduledFuture
SE
scheduleWithFixedDelay
インターフェースからコピーされた説明:TaskScheduler
指定されたRunnable
SE をスケジュールします。できるだけ早く開始し、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。スケジューラがシャットダウンするか、返された
ScheduledFuture
SE がキャンセルされると、実行は終了します。- 次で指定:
- インターフェース
TaskScheduler
のscheduleWithFixedDelay
- パラメーター:
task
- トリガーが起動するたびに実行する Runnabledelay
- ある実行の補完から次の実行の開始までの遅延- 戻り値:
- タスクの保留中の実行を表す
ScheduledFuture
SE
ConcurrentTaskScheduler(ScheduledExecutorService)
を推奨します