クラス ConcurrentTaskScheduler

java.lang.ObjectSE
org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
org.springframework.scheduling.concurrent.ConcurrentTaskScheduler
実装されたすべてのインターフェース:
ExecutorSEAsyncListenableTaskExecutorAsyncTaskExecutorTaskExecutorSchedulingTaskExecutorTaskScheduler
既知の直属サブクラス
DefaultManagedTaskScheduler

public class ConcurrentTaskScheduler extends ConcurrentTaskExecutor implements TaskScheduler
java.util.concurrent.ScheduledExecutorService を受け取り、Spring TaskScheduler を公開するアダプター。SchedulingTaskExecutor インターフェースも実装するために、ConcurrentTaskExecutor を拡張します。

可能であればトリガーベースのスケジューリングに使用するために、JSR-236 ManagedScheduledExecutorServiceEE を自動検出します。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
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • setScheduledExecutor

      public void setScheduledExecutor(ScheduledExecutorServiceSE scheduledExecutor)
      委譲先の ScheduledExecutorServiceSE を指定します。

      Spring のローカルトリガー管理の代わりに、可能であればトリガーベースのスケジューリングに使用するために、JSR-236 ManagedScheduledExecutorServiceEE を自動検出します。

      メモ: これは TaskScheduler 呼び出しにのみ適用されます。特定のエグゼキューターを SchedulingTaskExecutor 呼び出しにも適用したい場合は、同じエグゼキューター参照を ConcurrentTaskExecutor.setConcurrentExecutor(java.util.concurrent.Executor) に渡します。

      関連事項:
    • setErrorHandler

      public void setErrorHandler(ErrorHandler errorHandler)
      ErrorHandler 戦略を提供します。
    • setClock

      public void setClock(ClockSE clock)
      スケジューリングの目的で使用する監視を設定します。

      デフォルトのクロックは、デフォルトのタイムゾーンのシステムクロックです。

      導入:
      5.3
      関連事項:
    • getClock

      public ClockSE getClock()
      インターフェースからコピーされた説明: TaskScheduler
      スケジューリングの目的で使用する監視を返します。
      次で指定:
      インターフェース TaskSchedulergetClock 
      関連事項:
    • execute

      public void execute(RunnableSE task)
      インターフェースからコピーされた説明: TaskExecutor
      指定された task を実行します。

      実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。

      次で指定:
      インターフェース ExecutorSEexecuteSE 
      次で指定:
      インターフェース TaskExecutorexecute 
      オーバーライド:
      クラス ConcurrentTaskExecutorexecute 
      パラメーター:
      task - 実行する Runnable (非 null)
    • submit

      public FutureSE<?> submit(RunnableSE task)
      インターフェースからコピーされた説明: AsyncTaskExecutor
      実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。Future は完了時に null の結果を返します。

      6.1 では、このメソッドには TaskExecutor.execute(Runnable) に委譲するデフォルトの実装が付属しています。

      次で指定:
      インターフェース AsyncTaskExecutorsubmit 
      オーバーライド:
      クラス ConcurrentTaskExecutorsubmit 
      パラメーター:
      task - 実行する Runnable (非 null)
      戻り値:
      タスクの保留中の完了を表す Future
    • submit

      public <T> FutureSE<T> submit(CallableSE<T> task)
      インターフェースからコピーされた説明: AsyncTaskExecutor
      Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。Future は、完了時に Callable の結果を返します。

      6.1 では、このメソッドには TaskExecutor.execute(Runnable) に委譲するデフォルトの実装が付属しています。

      次で指定:
      インターフェース AsyncTaskExecutorsubmit 
      オーバーライド:
      クラス ConcurrentTaskExecutorsubmit 
      パラメーター:
      task - 実行する Callable (非 null)
      戻り値:
      タスクの保留中の完了を表す Future
    • submitListenable

      public ListenableFuture<?> submitListenable(RunnableSE task)
      インターフェースからコピーされた説明: AsyncListenableTaskExecutor
      Runnable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は完了時に null の結果を返します。
      次で指定:
      インターフェース AsyncListenableTaskExecutorsubmitListenable 
      オーバーライド:
      クラス ConcurrentTaskExecutorsubmitListenable 
      パラメーター:
      task - 実行する Runnable (非 null)
      戻り値:
      保留中のタスクの完了を表す ListenableFuture 
    • submitListenable

      public <T> ListenableFuture<T> submitListenable(CallableSE<T> task)
      インターフェースからコピーされた説明: AsyncListenableTaskExecutor
      Callable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は、完了時に Callable の結果を返します。
      次で指定:
      インターフェース AsyncListenableTaskExecutorsubmitListenable 
      オーバーライド:
      クラス ConcurrentTaskExecutorsubmitListenable 
      パラメーター:
      task - 実行する Callable (非 null)
      戻り値:
      保留中のタスクの完了を表す ListenableFuture 
    • schedule

      @Nullable public ScheduledFutureSE<?> schedule(RunnableSE task, Trigger trigger)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールし、トリガーが次の実行時間を示すたびに呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerschedule 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      trigger - Trigger インターフェースの実装、たとえば cron 式をラップする CronTrigger オブジェクト
      戻り値:
      タスクの実行保留を表す ScheduledFutureSE、または指定されたトリガーオブジェクトが決して起動しない場合は null (つまり、Trigger.nextExecution(org.springframework.scheduling.TriggerContext) から null を返します)
      関連事項:
    • schedule

      public ScheduledFutureSE<?> schedule(RunnableSE task, InstantSE startTime)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールし、指定された実行時間に呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerschedule 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      startTime - タスクの望ましい実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)
      戻り値:
      タスクの保留中の実行を表す ScheduledFutureSE
    • scheduleAtFixedRate

      public ScheduledFutureSE<?> scheduleAtFixedRate(RunnableSE task, InstantSE startTime, DurationSE period)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールし、指定された実行時間に呼び出し、その後、指定された期間で呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerscheduleAtFixedRate 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      startTime - タスクに必要な最初の実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)
      period - タスクの連続した実行の間隔
      戻り値:
      タスクの保留中の実行を表す ScheduledFutureSE
    • scheduleAtFixedRate

      public ScheduledFutureSE<?> scheduleAtFixedRate(RunnableSE task, DurationSE period)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールします。できるだけ早く開始し、指定された期間で呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerscheduleAtFixedRate 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      period - タスクの連続した実行の間隔
      戻り値:
      タスクの保留中の実行を表す ScheduledFutureSE
    • scheduleWithFixedDelay

      public ScheduledFutureSE<?> scheduleWithFixedDelay(RunnableSE task, InstantSE startTime, DurationSE delay)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールし、指定された実行時間に呼び出し、その後、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerscheduleWithFixedDelay 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      startTime - タスクに必要な最初の実行時間 (これが過去の場合、タスクはすぐに、つまりできるだけ早く実行されます)
      delay - ある実行の補完から次の実行の開始までの遅延
      戻り値:
      タスクの保留中の実行を表す ScheduledFutureSE
    • scheduleWithFixedDelay

      public ScheduledFutureSE<?> scheduleWithFixedDelay(RunnableSE task, DurationSE delay)
      インターフェースからコピーされた説明: TaskScheduler
      指定された RunnableSE をスケジュールします。できるだけ早く開始し、1 つの実行が完了してから次の実行が開始されるまでの間に指定された遅延で呼び出します。

      スケジューラがシャットダウンするか、返された ScheduledFutureSE がキャンセルされると、実行は終了します。

      次で指定:
      インターフェース TaskSchedulerscheduleWithFixedDelay 
      パラメーター:
      task - トリガーが起動するたびに実行する Runnable
      delay - ある実行の補完から次の実行の開始までの遅延
      戻り値:
      タスクの保留中の実行を表す ScheduledFutureSE