Springの定時タスクのアノテーションをどのように設定しますか?
Springでは、@Scheduledアノテーションを使用して定期的なタスクを設定することができます。最初に、以下の設定をSpringの設定ファイルに追加してください。
<task:annotation-driven/>
その後、定期的に実行する必要があるメソッドに@Scheduledアノテーションを追加し、実行時間を設定します。例えば、
@Scheduled(cron = "0 0 0 * * ?") // 每天凌晨执行
public void myTask() {
// 执行定时任务的逻辑
}
上記のコードは、毎日午前0時にmyTaskメソッドを実行することを示しています。
@Scheduledアノテーションには、他にも設定できるプロパティがあります。例えば、
- fixedRate:毎回実行する頻度が固定されており、ミリ秒単位で指定されます。
- fixedDelayは、前回の実行が完了後、一定時間経過した後に次の実行が行われる、ミリ秒単位の固定遅延実行です。
- initialDelay:最初の遅延実行は、タスクが開始されてから一定時間後に最初に実行される時間のことで、ミリ秒単位で表されます。
- cron:クーロン式を使用して、定期的なタスクの実行時間を設定します。
固定の頻度で実行するように設定します。
@Scheduled(fixedRate = 5000) // 每隔 5 秒执行一次
public void myTask() {
// 执行定时任务的逻辑
}
固定遅延時間で実行する。
@Scheduled(fixedDelay = 5000) // 上一次执行完毕后延迟 5 秒执行下一次
public void myTask() {
// 执行定时任务的逻辑
}
初めて使う場合は、実行を遅らせる。
@Scheduled(initialDelay = 5000, fixedRate = 5000) // 延迟 5 秒后执行第一次,然后每隔 5 秒执行一次
public void myTask() {
// 执行定时任务的逻辑
}