**中格式如下:
@scheduled
(cron =
"$")
properties配置檔案或yml配置檔案格式如下:
eventtimedtask.cron=0 * * * * * ?
eventtimedtask
:cron
: 0 * * * * * ?
cron表示式:(注意:從左往右)
字段允許值
允許的特殊字元
秒0-59
,-*/
分0-59
,-*/
時0-23
,-*/
日1-31
,-*?/lwc
月1-12
,-*/
星期1-7或是sun-sat(1是sun)
,-*?/lc#
年(可選)
1970-2099
,-*/
特殊字元含義
特殊字元
代表含義備註,
列舉,在乙個欄位中滿足其中乙個即可觸發
-區間(範圍)*任意
/步長"/「前面的值代表初始值(」「等同"0」),後面的值代表偏移量,比如"0/20"或者"/20"代表從0秒鐘開始,每隔20秒鐘觸發1次,即0秒觸發1次,20秒觸發1次,40秒觸發1次;"5/20"代表5秒觸發1次,25秒觸發1次,45秒觸發1次;"10-45/20"代表在[10,45]內步進20秒命中的時間點觸發,即10秒觸發1次,30秒觸發1次
?日/星期衝突匹配
與互斥,即意味著若明確指定觸發,則表示無意義,以免引起衝突和混亂l最後
如果佔位符如果是"l",即意味著星期的的最後一天觸發,即星期六觸發,l= 7或者 l = sat,因此,"5l"意味著乙個月的最後乙個星期四觸發
w工作日
字元「w」只允許日期域出現。這個字元用於指定日期的最近工作日。「l」和「w」可以在日期域中聯合使用,lw表示這個月最後一周的工作日
c和calendar聯絡後計算過的值
字元「c」允許在日期域和星期域出現。這個字元依靠乙個指定的「日曆」。也就是說這個表示式的值依賴於相關的「日曆」的計算結果,如果沒有「日曆」關聯,則等價於所有包含的「日曆」。如:日期域是「5c」表示關聯「日曆」中第一天,或者這個月開始的第一天的後5天。星期域是「1c」表示關聯「日曆」中第一天,或者星期的第一天的後1天,也就是週日的後一天(周一)。
#星期,如4#2,表示第二個星期三
星期欄位的可選值:
cron支援配置星期縮寫
public final static int sunday = 1; ---sun 星期日
public final static int monday = 2; ---mon 星期一
public final static int tuesday = 3; ---tue 星期二
public final static int wednesday = 4; ---wed 星期三
public final static int thursday = 5; ---thu 星期四
public final static int friday = 6; ---fri 星期五
public final static int saturday = 7; ---sat 星期六
多說一句:如果需要知道spring定時任務的寫法請檢視另一篇博文:spring定時任務 Scheduled註解的用法
cron表示式是乙個字串,字串以5或6個空格隔開,分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式 每乙個域可出現的字元如下 seconds 可出現 四個字元,有效範圍為0 59的整數 minutes 可出現 四個字元,有效範圍為0 59的整數 hours 可出現 四個字元,有效範圍...
定時任務註解 Scheduled
scheduled cron 0 0 2 每天凌晨兩點執行 void dosomethingwith 乙個cron表示式有至少6個 也可能7個 有空格分隔的時間元素。按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 月 0 11 天 星期 1 7...
回顧定時任務註解 Scheduled
scheduled註解是包org.springframework.scheduling.annotation中的乙個註解,主要是用來開啟定時任務。target retention retentionpolicy.runtime documented repeatable schedules.clas...