生活随笔
收集整理的這篇文章主要介紹了
Spring定时器cron表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cron表達式
用于表示時間周期的字符串,常用于定時任務解決方案。Spring 的定時任務。
語法格式
cron 字符串包含 6 或 7 個域,域之間使用空格分隔。
Seconds Minutes Hours DayofMonth Month DayofWeek
Seconds:0~59 的整數,或 , - * / 四個字符
Minutes:同 Seconds 域一致
Hours:0~23的整數,或 , - * / 四個字符
DayofMonth:0~31的整數,或 , - * / ? L W C 八個字符
Month:1~12的整數,或 JAN ~ DEC,或 , - * / 四個字符
DayofWeek:1~7的整數,或 SUN ~ SAT,或 , - * / ? L C # 八個字符,注意整數 1 代表星期日,每周第一天從周日開始
Year:1970~2099,或 , - * / 四個字符
特殊字符
,
用于分隔枚舉值,如在 Seconds 域使用 10,15,25 表示在第 10 秒、15 秒和 25 秒觸發一次,示例代碼如下:
@Scheduled(cron = "10,15,25 * * * * ?")
public void scheduledTask() {System.out.println("Task executed at " + LocalDateTime.now());
}
-
用于表示范圍,如在 Seconds 域使用 30-45 表示在第 30 秒至 45 秒范圍內,每秒觸發一次,示例代碼如下:
@Scheduled(cron = "30-45 * * * * ?")
public void scheduledTask() {System.out.println("Task executed at " + LocalDateTime.now());
}
*
匹配所在域有效范圍內的任意值,如在 Minutes 域使用則每分鐘觸發一次,示例代碼如下:
@Scheduled(cron = "0 * * * * ?")
public void scheduledTask() {System.out.println("Task executed at " + LocalDateTime.now());
}
\
表示從起始時間開始,每隔固定時間觸發一次,如在 Seconds 域使用 10/15 表示每分鐘內第 10 秒觸發以后,后續每隔 15 秒觸發一次,即每分鐘第 10 秒、第 25 秒、第 40 秒和第 55 秒各觸發一次。注意:這種間隔循環只在每分鐘內執行,即第 55 秒時中斷每 15 秒的間隔循環,等到下一分鐘的第 10 秒再次執行。
@Scheduled(cron = "10/15 * * * * ?")
public void scheduledTask() {System.out.println("Task executed at " + LocalDateTime.now());
}
?
只能用于 DayofMonth 和 DayofWeek 這兩個域,表示匹配任意值,如 DayofMonth 域使用固定值 10(表示每月第 10 天觸發),則 DayofWeek 使用 ?,示例代碼如下:
@Scheduled(cron = "* * * 10 * ?")
public void scheduledTask() {System.out.println("Task executed at " + LocalDateTime.now());
}
作者:又語
鏈接:https://www.jianshu.com/p/73784dff0b0e
總結
以上是生活随笔為你收集整理的Spring定时器cron表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。