@TargetSE(valueSE={METHODSE,ANNOTATION_TYPESE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @RepeatableSE(valueSE=Schedules.class) public @interface Scheduled
cron()
、fixedDelay()
、fixedRate()
のいずれかの属性を指定する必要があります。 アノテーション付きメソッドは引数を必要としません。通常、戻り値の型は void
になります。そうでない場合、スケジューラーを介して呼び出された場合、戻り値は無視されます。
@Scheduled
アノテーションの処理は、ScheduledAnnotationBeanPostProcessor
を登録することによって実行されます。これは、手動で実行することも、<task:annotation-driven/>
XML 要素または @EnableScheduling
アノテーションを介して実行する方が便利です。
このアノテーションをメタアノテーションとして使用して、属性をオーバーライドしたカスタム合成アノテーションを作成できます。
EnableScheduling
, ScheduledAnnotationBeanPostProcessor
, Schedules
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | CRON_DISABLED 無効なトリガーを示す特別な cron 式値: "-"。 |
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | cron cron のような表現で、通常の UN*X 定義を継承して、秒、分、時間、日、月、曜日のトリガーを含めます。 |
long | fixedDelay 最後の呼び出しの終了から次の呼び出しの開始までの期間を固定して、アノテーション付きメソッドを実行します。 |
StringSE | fixedDelayString 最後の呼び出しの終了から次の呼び出しの開始までの期間を固定して、アノテーション付きメソッドを実行します。 |
long | fixedRate 呼び出しの間隔を固定して、アノテーション付きメソッドを実行します。 |
StringSE | fixedRateString 呼び出しの間隔を固定して、アノテーション付きメソッドを実行します。 |
long | initialDelay fixedRate() または fixedDelay() タスクの最初の実行までに遅延する時間の単位数。 |
StringSE | initialDelayString fixedRate() または fixedDelay() タスクの最初の実行までに遅延する時間の単位数。 |
TimeUnitSE | timeUnit |
StringSE | zone cron 式が解決されるタイムゾーン。 |
public static final StringSE CRON_DISABLED
これは、主に ${...}
プレースホルダーで使用するためのもので、対応するスケジュールされたメソッドを外部で無効にすることができます。
ScheduledTaskRegistrar.CRON_DISABLED
public abstract StringSE cron
例: "0 * * * * MON-FRI"
は、平日の 1 分間に 1 回(その分で -0 秒)を意味します。
左から右に読み取られるフィールドは、次のように解釈されます。
特別な値 "-"
は、主に ${...}
プレースホルダーによって解決される外部で指定された値を対象とした無効な cron トリガーを示します。
CronExpression.parse(String)
public abstract StringSE zone
TimeZone.getTimeZone(String)
SE が受け入れるゾーン ID、またはサーバーのデフォルトのタイムゾーンを示す空の文字列 CronTrigger(String, java.util.TimeZone)
, TimeZone
SEpublic abstract long fixedDelay
時間の単位はデフォルトでミリ秒ですが、timeUnit()
を介してオーバーライドできます。
public abstract StringSE fixedDelayString
時間の単位はデフォルトでミリ秒ですが、timeUnit()
を介してオーバーライドできます。
java.time.Duration
SE 準拠の値 public abstract long fixedRate
時間の単位はデフォルトでミリ秒ですが、timeUnit()
を介してオーバーライドできます。
public abstract StringSE fixedRateString
時間の単位はデフォルトでミリ秒ですが、timeUnit()
を介してオーバーライドできます。
java.time.Duration
SE 準拠の値 public abstract StringSE initialDelayString
java.time.Duration
SE 準拠の値 public abstract TimeUnitSE timeUnit
fixedDelay()
、fixedDelayString()
、fixedRate()
、fixedRateString()
、initialDelay()
、initialDelayString()
に使用する TimeUnit
SE。 デフォルトは TimeUnit.MILLISECONDS
SE です。
この属性は、cron 式、fixedDelayString()
、fixedRateString()
、initialDelayString()
を介して提供される Duration
SE 値では無視されます。
TimeUnit