spring schedule中的cron表示式

2021-08-02 22:32:56 字數 1660 閱讀 6507

cron表示式使用格式

seconds

minutes

hours

dayofmonth

month

dayofweek

[year]秒分

時月中的某天

月週中的某天 

[年 可選]

每個符號代表的含義:

*:匹配該域的任意值;如*用在分所在的域,表示每分鐘都會觸發事件。

?:匹配該域的任意值。月份的天河周的天互相衝突,必須將其中乙個設定為?

-:匹配乙個特定的範圍值;如時所在的域的值是10-12,表示10、11、12點的時候會觸發事件。

,:匹配多個指定的值;如周所在的域的值是2,4,6,表示在周

一、週三、周五就會觸發事件(1表示週日,2表示周一,3表示周二,以此類推,7表示週六)。

/:左邊是開始觸發時間,右邊是每隔固定時間觸發一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的時候都觸發一次事件。

l:last,最後的意思,如果是用在天這個域,表示月的最後一天,如果是用在周所在的域,如6l,表示某個月最後乙個周五。(外國週日是星耀日,周一是月耀日,一周的開始是週日,所以1l=週日,6l=周五。)

w:weekday,工作日的意思。如天所在的域的值是15w,表示本月15日最近的工作日,如果15日是週六,觸發器將觸發上14日周五。如果15日是週日,觸發器將觸發16日周一。如果15日不是週六或週日,而是周一至周五的某乙個,那麼它就在15日當天觸發事件。

#:用來指定每個月的第幾個星期幾,如6#3表示某個月的第三個星期五。

實用的例子 表示式 含義

「0 0 12 * * ?」

每天12:00觸發事件

「0 15 10 ? * *」

每天10:15觸發事件

「0 15 10 * * ?」

每天10:15觸發事件

「0 15 10 * * ? *」

每天10:15觸發事件

「0 15 10 * * ? 2005″

2023年的每天10:15觸發事件

「0 * 14 * * ?」

每天14點開始觸發,每分鐘觸發一次,14:59分結束

「0 0/5 14 * * ?」

每天14點開始觸發到14:59分結束的每5分鐘觸發一次事件

「0 0/5 14,18 * * ?」

每天14點開始到14:59期間和18點到18:59期間的每5分鐘觸發一次事件

「0 0-5 14 * * ?」

每天14點到14:05期間的每1分鐘觸發一次事件

「0 10,44 14 ? 3 wed」

每年3月的星期三的14:10和14:44觸發一次事件

「0 15 10 ? * mon-fri」

周一至周五的10:15觸發一次事件

「0 15 10 15 * ?」

每月15日10:15觸發一次事件

「0 15 10 l * ?」

每月最後一日的10:15觸發一次事件

「0 15 10 ? * 6l」

每月的最後乙個星期五10:15觸發一次事件

「0 15 10 ? * 6l 2002-2005″

2023年至2023年的每月的最後乙個星期五10:15觸發一次事件

「0 15 10 ? * 6#3″

每月的第三個星期五10:15觸發一次事件

spring schedule框架實現定時任務

sprig schedule 一句話 作業排程 spring schedule cron表示式 cron 表示式的格式 秒 seconds 分 minutes 時 hours 日 day of month 月 month 周 day of week 年 year非必須 各個格式允許的值和允許的特殊字...

spring schedule 定時任務

用法 spring的定時任務用起來非常簡單,下面主要說在spring boot專案中的用法。1.首先我們要在啟動類上新增 enablescheduling,去開啟定時任務。2.接著我們要在需要定時執行的方法上,新增 schedule註解。一般有三種定時方式 fixeddelay 等當前任務執行完後的...

Spring Schedule配置及初始化

我們選擇這乙個 上面的xml的task已經加上了 xmlns task 那剛剛選的時候一定不要選錯schema,雖然都是同乙個annotaion driven 這個location我們怎麼新增呢,首先我們先填上classpath,然後把這個配置閉合 首先我們建立乙個類,這個類我們就叫closeord...