設定Spring定時器

2021-07-04 18:03:16 字數 3253 閱讀 5191

0/5 * * * * ?   ------------設定定義定時器(注意)

關鍵是設定 cronexpression屬性 :

cronexpression

表示式有至少

6個(也可能是

7個)由空格分隔的時間元素。從左至右,這些元素的定義如下: 

1.秒(

0–59) 2

.分鐘(

0–59) 3

.小時(

0–23) 4

.月份中的日期(

1–31) 5

.月份(

1–12

或jan–dec) 6

.星期中的日期(

1–7或

sun–sat) 7

.年份(

1970–2099

) (可選 empty)

0/5 * * * * ?  表示每 5s執行一次。   

「*」——

字元可以用於所有字段,在「分

」欄位中設為

"*"表示

"每一分鐘

"的含義。 

「?」——

字元可以用在「日

」和「週幾

」欄位.它用來指定

'不明確的值

'.這在你需要指定這兩個欄位中的某乙個值而不是另外乙個的時候會被用到。在後面的例子中可以看到其含義。 

「-」——

字元被用來指定乙個值的範圍,比如在「小時

」欄位中設為

"10-12"

表示"10

點到12點"

。 「,」——

字元指定數個值。比如在「週幾

」欄位中設為

"mon,wed,fri"

表示"the days monday, wednesday, and friday"

。 (類似列舉)

「/」——

字元用來指定乙個值的的增加幅度

.比如在「秒

」欄位中設定為

"0/15"表示"

第0, 15, 30,和45

秒"。而"5/15"

則表示"

第5, 20, 35,

和50".

在'/'

前加"*"

字元相當於指定從

0秒開始

.每個欄位都有一系列可以開始或結束的數值。對於「秒

」和「分

」字段來說,其數值範圍為0到

59,對於「小時

」字段來說其為0到

23,對於「日

」字段來說為0到

31,而對於「月

」字段來說為1到

12。"/"字段僅僅只是幫助你在允許的數值範圍內從開始"第

n"的值。

「l」——

字元可用在「日

」和「週幾

」這兩個字段。它是

"last"

的縮寫,

但是在這兩個欄位中有不同的含義。例如,「日

」欄位中的

"l"表示

"乙個月中的最後一天

" ——

對於一月就是

31號對於二月來說就是

28號(非閏年)。而在「週幾

」欄位中

,它簡單的表示

"7" or "sat"

,但是如果在「週幾

」欄位中使用時跟在某個數字之後

,它表示

"該月最後乙個星期

×" ——

比如"6l"表示"

該月最後乙個周五

"。當使用

'l'選項時

,指定確定的列表或者範圍非常重要,否則你會被結果搞糊塗的。 

「w」——

可用於「日」

字段。用來指定歷給定日期最近的工作日

(周一到周五

)。比如你將「日

」欄位設為

"15w"

,意為: "

離該月15

號最近的工作日

"。因此如果

15號為週六,觸發器會在

14號即周五呼叫。如果

15號為週日

,觸發器會在

16號也就是周一觸發。如果

15號為周二

,那麼當天就會觸發。然而如果你將「日

」欄位設為

"1w",

而一號又是週六

,觸發器會於下周一也就是當月的

3號觸發

,因為它不會越過當月的值的範圍邊界。

'w'字元只能用於「日

」欄位的值為單獨的一天而不是一系列值的時候。 

「l」和

「w」可以組合用於「日

」字段表示為

'lw'

,意為"

該月最後乙個工作日"。 

「#」——

字元可用於「週幾

」字段。該字元表示

「該月第幾個周

×」,比如

"6#3"

表示該月第三個周五

( 6表示周五而

"#3"

該月第三個

)。再比如

: "2#1" =

表示該月第乙個周一而

"4#5" =

該月第五個週三。注意如果你指定

"#5"

該月沒有第五個「周

×」,該月是不會觸發的。 

「c」——

字元可用於「日

」和「週幾

」字段,它是

"calendar"

的縮寫。它表示為基於相關的日曆所計算出的值(如果有的話)。如果沒有關聯的日曆

,那它等同於包含全部日曆。「日

」字段值為

"5c"表示"

日曆中的第一天或者

5號以後",

「週幾」字段值為

"1c"

則表示"

日曆中的第一天或者週日以後"。 

對於「月份」

欄位和「週幾」

字段來說合法的字元都不是大小寫敏感的。 

每隔5秒執行一次:*/5 * * * * ? 

每隔1分鐘執行一次:0 */1 * * * ? 

每天23點執行一次:0 0 23 * * ? 

每天凌晨1點執行一次:0 0 1 * * ? 

每月1號凌晨1點執行一次:0 0 1 1 * ? 

每月最後一天23點執行一次:0 0 23 l * ? 

每週星期天凌晨1點實行一次:0 0 1 ? * l 

在26分、29分、33分執行一次:0 26,29,33 * * * ? 

每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ? 

spring定時器設定

具體時間設 定可參考 0 3 9 18 每天9點到18點期間每3秒觸發 0 10 每10秒觸發 0 0 12 每天中午12點觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 2005 2005年的每天上午10...

Spring定時器時間設定

時間大小由小到大排列,從秒開始,順序為 秒,分,時,天,月,年 為任意 為無限制。具體如下 0 10 每10秒觸發 0 0 12 每天中午12點觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 每天上午10 15觸發 0 15 10 2005 20...

Spring的定時器設定

在專案中又用到了定時器,對於定時器的應用總是模模糊糊的,今天結合網上找到的資料與自己在專案中寫的簡單地在此寫一下,以備需要時查閱。乙個quartz的crontrigger表示式分為七項子表示式,其中每一項以空格隔開,從左到右分別是 秒,分,時,月的某天,月,星期的某天,年 其中年不是必須的,也就是說...