Quartz排程框架應用總結 2 作業及其相關

2021-06-08 13:01:08 字數 3057 閱讀 9645

二.作業及其相關

; & m% a' h3小時

0-23

, - * /

& _" w6 \3 a9 u# q6 f, g* s# `4日期

1-31

, - * ? / l w c

* g9 ~5 b3 c1 s6 k$ v$ j5月份

: k+ m9 i/ u6 o' s; m, ]

1-12

" w. i4 w  w8 u- f6 w' k9 d

, - * /

4 q  c9 v2 u+ q" m5 y; z

67 x. s+ h" f/ r5 ]$ x

星期1-7

, - * ? / l c #

/ m5 x! g( @8 m0 s; q% g

7, w) y! i' @( b0 k8 k2 r# j4 e年(

可選)/ t0 4 l. p& j' k

●逗號(,):表達乙個列表值,如在星期欄位中使用「mon,wed,fri」,則表示星期一,星期三和星期五;

+ b5 x" t1 y' a* ?5 l

●斜槓(/):x/y表達乙個等步長序列,x為起始值,y為增量步長值。如在分鐘欄位中使用0/15,則表示為0,15,30和45秒,而5/15在分鐘欄位中表示5,20,35,50,你也可以使用*/y,它等同於0/y;

●l:該字元只在日期和星期欄位中使用,代表「last」的意思,但它在兩個欄位中意思不同。l在日期欄位中,表示這個月份的最後一天,如一月的31號,非閏年二月的28號;如果l用在星期中,則表示星期六,等同於7。但是,如果l出現在星期欄位裡,而且在前面有乙個數值x,則表示「這個月的最後x天」,例如,6l表示該月的最後星期五;

. x, ~8 f. p% r2 l

●w:該字元只能出現在日期欄位裡,是對前導日期的修飾,表示離該日期最近的工作日。例如15w表示離該月15號最近的工作日,如果該月15號是星期六,則匹配14號星期五;如果15日是星期日,則匹配16號星期一;如果15號是星期二,那結果就是15號星期二。但必須注意關聯的匹配日期不能夠跨月,如你指定1w,如果1號是星期六,結果匹配的是3號星期一,而非上個月最後的那天。w字串只能指定單一日期,而不能指定日期範圍;

8 c5 w2 i1 o6 @

0 ?! u" \- q9 w% k

●lw組合:在日期字段可以組合使用lw,它的意思是當月的最後乙個工作日;

●井號(#):該字元只能在星期欄位中使用,表示當月某個工作日。如6#3表示當月的第三個星期五(6表示星期五,#3表示當前的第三個),而4#5表示當月的第五個星期三,假設當月沒有第五個星期三,忽略不觸發;

● c:該字元只在日期和星期欄位中使用,代表「calendar」的意思。它的意思是計畫所關聯的日期,如果日期沒有被關聯,則相當於日曆中所有日期。例如5c在日期欄位中就相當於日曆5日以後的第一天。1c在星期欄位中相當於星期日後的第一天。cron表示式對特殊字元的大小寫不敏感,對代表星期的縮寫英文大小寫也不敏感。表2下面給出一些完整的cron表示式的例項:

8 n1 x8 r$ [1 \2 ?4 v  x7 w

表2 cron

表示式示例

表示式說明"0 0 12 * * ? "

# }) i$ `7 x6 r; r5 o4 c

每天12

點執行"0 15 10 ? * *"

每天10:15

執行"0 15 10 * * ?"

4 f! p2 e+ e7 s% p% q3 y, w0 r

每天10:15

執行: e5 _3 c- o8 \- ]" a

"0 15 10 * * ? *"

1 g7 ^+ ^( e* b7 _8 a

每天10:15

執行; i- m& @4 o% f! d; w

"0 15 10 * * ? 2008"

5 i7 a2 r0 g, g  ~

在2008

年的每天10:

15執行

"0 * 14 * * ?"

每天14

點到15

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

14:00

,結束於

14:59

。1 k3 g# g/ t6 \

"0 0/5 14 * * ?"

6 i) f, |, c5 `% z

每天14

點到15點每5

分鐘執行一次,開始於

14:00

,結束於

14:55

。"0 0/5 14,18 * * ?"

每天14

點到15點每5

分鐘執行一次,此外每天

18點到

19點每

5鐘也執行一次。

0 w) z$ w8 j7 ?9 ?

"0 0-5 14 * * ?"

) e* y1 z5 g, w, ' a& a

3月每週三的

14:10

分到14:44

,每分鐘執行一次。

"0 15 10 ? * mon-fri"

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

10:15

分執行。

"0 15 10 15 * ?"

: w/ c' o0 g: {6 p: k* f

每月15

日10:15

分執行。

"0 15 10 l * ?"

每月最後一天

10:15

分執行。

# ]; s( a' `  ^$ z& m) m6 |

"0 15 10 ? * 6l"

每月最後乙個星期五

10:15

分執行。

"0 15 10 ? * 6l 2007-2009"

在2007,2008,2009

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

10:15

分執行。

2 n" v& e& d  c

"0 15 10 ? * 6#3"

+ \. c; t  z2 o4 c0 l

每月第三個星期五的

10:15

分執行。

好,說了這麼多,最後讓我們來看看如何在web應用中使用quartz。

任務排程 Quartz框架

乙個簡單的例子 與spring的整合 實現job介面定義任務 在spring配置檔案中進行配置 在多數情況下應該使用crontrigger觸發器,結合cron表示式與calendar,calendar有一些實現類,如annualcalendar,monthlycalendar,weeklycalen...

任務排程框架Quartz

在spring中整合 quartz 進行任 務排程 需要用到的jar包 org.springframework.context.support 3.0.2.release.jar quartz 1.8.6.jar quartz的核心包 要在spring 中利用quartz排程任務 需要配置三個bea...

quartz排程框架在web中應用例項

quartz排程框架在web中應用例項 1.在web.xml中配置 初始化quartz 相關servlet 注意 其中配置引數為 quartz.properties檔案 2.在 quartz.properties 中配置相關引數 如下org.quartz.scheduler.instancename...