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