クラス CronTrigger

java.lang.ObjectSE
org.springframework.scheduling.support.CronTrigger
実装されたすべてのインターフェース:
Trigger

public class CronTrigger extends ObjectSE implements Trigger
cron 式の Trigger 実装。一般的な crontab 規則に従って解析する CronExpression をラップします。

L/# 式を使用した Quartz 日 / 週フィールドをサポートします。SUN-SAT の 0 ~ 6 (SUN の場合も 7) を含む、その他すべての点で一般的な cron 規則に従います。Quartz は、SUN-SAT の 1 ~ 7 まで cron の曜日規則から逸脱していますが、Spring は、オプションの Quartz 固有の L/# 式と組み合わせた場合でも cron に厳密に従っていることに注意してください。

導入:
3.0
作成者:
Juergen Hoeller, Arjen Poutsma
関連事項:
  • コンストラクターの詳細

    • CronTrigger

      public CronTrigger(StringSE expression)
      デフォルトのタイムゾーンで提供されるパターンから CronTrigger を構築します。

      これは、forLenientExecution(java.lang.String) ファクトリメソッドと同等です。前のタスクがまだ実行中の場合、元のトリガーの起動はスキップされる可能性があります。これが望ましくない場合は、forFixedExecution(java.lang.String) を検討してください。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      関連事項:
    • CronTrigger

      public CronTrigger(StringSE expression, TimeZoneSE timeZone)
      CronTrigger(String) と同じ寛大な実行で、指定されたタイムゾーンで提供されたパターンから CronTrigger を構築します。

      通常、このような明示的なタイムゾーンのカスタマイズは必要なく、代わりに TaskScheduler.getClock() を使用することに注意してください。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      timeZone - トリガー時間が生成されるタイムゾーン
    • CronTrigger

      public CronTrigger(StringSE expression, ZoneIdSE zoneId)
      CronTrigger(String) と同じ寛大な実行で、指定されたタイムゾーンで提供されたパターンから CronTrigger を構築します。

      通常、このような明示的なタイムゾーンのカスタマイズは必要なく、代わりに TaskScheduler.getClock() を使用することに注意してください。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      zoneId - トリガー時間が生成されるタイムゾーン
      導入:
      5.3
      関連事項:
  • メソッドの詳細

    • getExpression

      public StringSE getExpression()
      このトリガーの作成に使用された cron パターンを返します。
    • nextExecution

      @Nullable public InstantSE nextExecution(TriggerContext triggerContext)
      指定されたトリガーコンテキストに従って次の実行時間を決定します。

      次の実行時間は、前回の実行の完了時間に基づいて計算されます。実行が重複することはありません。

      次で指定:
      インターフェース TriggernextExecution 
      パラメーター:
      triggerContext - 最終実行時間と最終完了時間をカプセル化するコンテキストオブジェクト
      戻り値:
      トリガーで定義された次の実行時間、またはトリガーが起動しない場合は null 
    • equals

      public boolean equals(@Nullable ObjectSE other)
      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode 
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • forLenientExecution

      public static CronTrigger forLenientExecution(StringSE expression)
      寛容な実行のために CronTrigger を作成し、完了時間に基づいてタスクごとに再スケジュールします。

      このバリアントでは、関連するタスクに時間がかかりすぎる場合、トリガーの起動の失敗を補うことはできません。その結果、前のタスクがまだ実行中の場合、元のトリガーの起動がスキップされる可能性があります。

      これは、通常の CronTrigger コンストラクターと同等です。寛容な実行はスケジューラに依存することに注意してください。タスクごとに新しいスレッドを使用して forFixedExecution(java.lang.String) -like 精度で実行している間、スレッドプールで長時間実行されるタスクのトリガーの起動をスキップする可能性があります。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      導入:
      6.1.3
      関連事項:
    • resumeLenientExecution

      public static CronTrigger resumeLenientExecution(StringSE expression, InstantSE resumptionTimestamp)
      寛容な実行のために CronTrigger を作成し、完了時間に基づいてタスクごとに再スケジュールします。

      このバリアントでは、関連するタスクに時間がかかりすぎる場合、トリガーの起動の失敗を補うことはできません。その結果、前のタスクがまだ実行中の場合、元のトリガーの起動がスキップされる可能性があります。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      resumptionTimestamp - 再開するタイムスタンプ (最後にわかっている完了タイムスタンプ)。そこから新しいトリガーが計算され、場合によっては直ちに起動されます。(ただし、それ以降のすべての計算は、最初に再開されたトリガーの完了時刻から開始されます。)
      導入:
      6.1.3
      関連事項:
    • forFixedExecution

      public static CronTrigger forFixedExecution(StringSE expression)
      固定実行用の CronTrigger を作成し、最後にスケジュールされた時刻に基づいてタスクごとに再スケジュールします。

      このバリアントは、関連するタスクに時間がかかりすぎた場合に、元のトリガーの起動ごとにタスクをスケジュールすることで、トリガーの起動の失敗を補います。このようなフォローアップタスクは実行が遅くなる可能性がありますが、スキップされることはありません。

      長時間実行されるタスクの場合の即時実行と遅延実行はスケジューラーに依存する可能性がありますが、タスクをスキップしないという保証は移植可能です。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      導入:
      6.1.3
      関連事項:
    • resumeFixedExecution

      public static CronTrigger resumeFixedExecution(StringSE expression, InstantSE resumptionTimestamp)
      固定実行用の CronTrigger を作成し、最後にスケジュールされた時刻に基づいてタスクごとに再スケジュールします。

      このバリアントは、関連するタスクに時間がかかりすぎた場合に、元のトリガーの起動ごとにタスクをスケジュールすることで、トリガーの起動の失敗を補います。このようなフォローアップタスクは実行が遅くなる可能性がありますが、スキップされることはありません。

      パラメーター:
      expression - cron 式の規則に従った、スペースで区切られた時間フィールドのリスト
      resumptionTimestamp - 再開するタイムスタンプ (最後にわかっているスケジュールされたタイムスタンプ)。その間に発生するすべての実行を補うために、その間にあるすべてのトリガーが即座に起動されます。
      導入:
      6.1.3
      関連事項: