Spring中Quartz的Cron表示式詳解

2021-08-26 11:37:29 字數 1846 閱讀 2907

時間網域名稱

允許的特殊字元

秒, - * /

分鐘, - * /

小時, - * /

日期, - * ? / l w c

月份, - * /

星期, - * ? / l c #年(

可選), - * /●星號

(*):可用在所有欄位中,表示對應時間域的每乙個時刻,例如,

*在分鐘欄位時,表示

「每分鐘」;

●減號(-):表達乙個範圍,如在小時欄位中使用

「10-12」

,則表示從10到

12點,即

10,11,12;●

斜槓(/)

:x/y

表達乙個等步長序列,

x為起始值,

y為增量步長值。如在分鐘欄位中使用

0/15

,則表示為

0,15,30和45

秒,而5/15

在分鐘欄位中表示

5,20,35,50

,你也可以使用

*/y,它等同於

0/y;

●w:該字元只能出現在日期欄位裡,是對前導日期的修飾,表示離該日期最近的工作日。例如

15w表示離該月

15號最近的工作日,如果該月

15號是星期六,則匹配

14號星期五;如果

15日是星期日,則匹配

16號星期一;如果

15號是星期二,那結果就是

15號星期二。但必須注意關聯的匹配日期不能夠跨月,如你指定

1w,如果

1號是星期六,結果匹配的是

3號星期一,而非上個月最後的那天。

w字串只能指定單一日期,而不能指定日期範圍;●井號

(#):該字元只能在星期欄位中使用,表示當月某個工作日。如

6#3表示當月的第三個星期五

(6表示星期五,

#3表示當前的第三個),而

4#5表示當月的第五個星期三,假設當月沒有第五個星期三,忽略不觸發;

cron

表示式對特殊字元的大小寫不敏感,對代表星期的縮寫英文大小寫也不敏感。

表2 cron

表示式示例

說明每天

12點執行

每天10:15

執行每天

10:15

執行每天

10:15執行在

2008

年的每天10:

15執行

每天14

點到15

點之間每分鐘執行一次,開始於

14:00

,結束於

14:59。每天

14點到

15點每

5分鐘執行一次,開始於

14:00

,結束於

14:55。每天

14點到

15點每

5分鐘執行一次,此外每天

18點到

19點每

5鐘也執行一次。

每天14:00

點到14:05

,每分鐘執行一次。

3月每週三的

14:10

分到14:44

,每分鐘執行一次。

每週一,二,三,四,五的

10:15

分執行。

每月15

日10:15

分執行。

每月最後一天

10:15

分執行。

每月最後乙個星期五

10:15

分執行。

在2007,2008,2009

年每個月的最後乙個星期五的

10:15

分執行。

每月第三個星期五的

10:15

分執行。

Spring中的Quartz配置

quartz是乙個強大的企業級任務排程框架,spring中繼承並簡化了quartz。下面就看看在spring中怎樣配置quartz。首先我們來寫乙個被排程的類 quartzjob package com.kay.quartz public class quartzjob spring的quartz配...

Spring中的Quartz配置

首先我們來寫乙個被排程的類 package com.kay.quartz public class quartzjob spring的quartz配置檔案 xml version 1.0 encoding utf 8 beans bean id quartzjob class com.kay.qua...

Spring中Quartz的配置

quartz是乙個強大的企業級任務排程框架,spring中繼承並簡化了quartz,下面就看看在spring中怎樣配置quartz 首先我們來寫乙個被排程的類 public class quartzjob spring的配置檔案 work 10,15,20,25,30,35,40,45,50,55 ...