springtask
定時任務工具
cron表達式
cron表達式是一個字元串,包括6~7個時間元素,在springtask中可以用于指定任務的執行時間。
cron的文法格式
seconds minutes hours dayofmonth month dayofweek
cron格式中每個時間元素的說明
時間元素 可出現的字元 有效數值範圍
seconds , - * / 0-59
minutes , - * / 0-59
hours , - * / 0-23
dayofmonth , - * / ? l w 0-31
month , - * / 1-12
dayofweek , - * / ? l # 1-7或sun-sat
cron格式中特殊字元說明
字元 作用 舉例
, 列出枚舉值 在minutes域使用5,10,表示在5分和10分各觸發一次
/ 起始時間開始觸發,每隔固定時間觸發一次 在minutes域使用5/10,表示5分時觸發一次,每10分鐘再觸發一次
? 在dayofmonth和dayofweek中,用于比對任意值 在dayofmonth域使用?,表示每天都觸發一次
在dayofmonth中,确定第幾個星期幾 1#3表示第三個星期日
l 表示最後 在dayofweek中使用5l,表示在最後一個星期四觸發
w 表示有效工作日(周一到周五) 在dayofmonth使用5w,如果5日是星期六,則将在最近的工作日4日觸發一次
業務場景說明
使用者對某商品進行下單操作;
系統需要根據使用者購買的商品資訊生成訂單并鎖定商品的庫存;
系統設定了60分鐘使用者不付款就會取消訂單;
開啟一個定時任務,每隔10分鐘檢查下,如果有逾時還未付款的訂單,就取消訂單并取消鎖定的商品庫存。
配置
就是在一個配置類上加上@enablescheduling
執行定時任務的類
感謝macro,文章内容全來自macro