sprinboot 定時排程

2021-10-12 02:16:47 字數 1647 閱讀 3609

1.開啟定時排程,給主應用新增@enablescheduling // 開啟定時任務功能

@enablescheduling // 開啟定時任務功能

@enableasync

public static void main(string args)

@override //為了打包springboot專案

return builder.sources(this.getclass());

}}

2.編寫scheduledservice,給service新增@component

//定時排程

@component

public class scheduledservice

}

3.執行,系統則自動呼叫

4. cron屬性

這是乙個時間表示式,可以通過簡單的配置就能完成各種時間的配置,我們通過cron表示式幾乎可以完成任意的時間搭配,它包含了六或七個域:

cron表示式語法

[秒] [分] [小時] [日] [月] [周] [年]

注:[年]不是必須的域,可以省略[年],則一共6個域

seconds: 可出現", - * /"四個字元,有效範圍為0-59的整數

minutes: 可出現", - * /"四個字元,有效範圍為0-59的整數

hours: 可出現", - * /"四個字元,有效範圍為0-23的整數

dayofmonth: 可出現", - * / ? l w c"八個字元,有效範圍為0-31的整數

month: 可出現", - * /"四個字元,有效範圍為1-12的整數或jan-dec

dayofweek: 可出現", - * / ? l c #"四個字元,有效範圍為1-7的整數或sun-sat兩個範圍。1表示星期天,2表示星期一, 依次類推

year: 可出現", - * /"四個字元,有效範圍為1970-2023年

下面簡單舉幾個例子:

"0 0 12 * * ?"    每天中午十二點觸發

"0 15 10 ? * *"    每天早上10:15觸發

"0 15 10 * * ?"    每天早上10:15觸發

"0 15 10 * * ? *"    每天早上10:15觸發

"0 15 10 * * ? 2005"    2023年的每天早上10:15觸發

"0 * 14 * * ?"    每天從下午2點開始到2點59分每分鐘一次觸發

"0 0/5 14 * * ?"    每天從下午2點開始到2:55分結束每5分鐘一次觸發

"0 0/5 14,18 * * ?"    每天的下午2點至2:55和6點至6點55分兩個時間段內每5分鐘一次觸發

"0 0-5 14 * * ?"    每天14:00至14:05每分鐘一次觸發

"0 10,44 14 ? 3 wed"    三月的每週三的14:10和14:44觸發

"0 15 10 ? * mon-fri"    每個周

一、周二、周

三、周四、周五的10:15觸發

Spring Quartz定時排程

一 所需的jar包 二 定時排程的配置和使用 配置 quartz 2 建立任務類 public class quartztest 當專案啟動時,每兩分鐘 從每小時的0分0秒開始,隔兩分鐘再去執行一次,到每個小時的59分為止 就會去執行quartztest 類中在配置檔案指定的execute方法。三 ...

Spring 定時排程

一 spring提供兩種觸發器 1 每隔指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.scheduling.quartz.triggerbean 2 每到指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.sche...

Quartz定時排程

quartz定時排程 在包含了spring依賴包情況下加入quartz所依賴包 org.quartz schedulergroupid quartzartifactid 2.2.1version dependency spring用的4.0.2版本 需要注意的是quartz的版本區別 1.x系列的對...