Spring註解配置定時任務

2022-09-03 05:42:08 字數 3139 閱讀 3802

首先在配置檔案頭部的必須要有:

xmlns:task=""

其次xsi:schemalocation必須為其新增:

/spring-task.xsd

然後spring掃瞄過程必須涵蓋定時任務類所在的目錄:

com.xx.xx屬於定時任務類的父級甚至更高階 

然後設定動作啟用定時任務

最後設定任務類

import org.springframework.context.annotation.lazy;

import org.springframework.scheduling.annotation.scheduled;

import org.springframework.stereotype.component;

@component

@enablescheduling 

public class myquartzs }

乙個cron表示式有至少6個(也可能7個)有空格分隔的時間元素。

按順序依次為

秒(0~59)

分鐘(0~59)

小時(0~23)

天(月)(0~31,但是你需要考慮你月的天數)

月(0~11)

天(星期)(1~7 1=sun 或 sun,mon,tue,wed,thu,fri,sat)

7.年份(1970-2099)

其中每個元素可以是乙個值(如6),乙個連續區間(9-12),乙個間隔時間(8-18/4)(/表示每隔4小時),乙個列表(1,3,5),萬用字元。由於"月份中的日期"和"星期中的日期"這兩個元素互斥的,必須要對其中乙個設定?.

0 0 10,14,16 * * ? 每天上午10點,下午2點,4點

0 0/30 9-17 * * ?   朝九晚五工作時間內每半小時

0 0 12 ? * wed 表示每個星期三中午12點 

"0 0 12 * * ?" 每天中午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期間的每1分鐘觸發 

"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發 

"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發 

"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發 

"0 10,44 14 ? 3 wed" 每年三月的星期三的下午2:10和2: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觸發 

有些子表示式能包含一些範圍或列表

例如:子表示式(天(星期))可以為 「mon-fri」,「mon,wed,fri」,「mon-wed,sat」

「*」字元代表所有可能的值

因此,「*」在子表示式()裡表示每個月的含義,「*」在子表示式(天(星期))表示星期的每一天

「/」字元用來指定數值的增量

例如:在子表示式(分鐘)裡的「0/15」表示從第0分鐘開始,每15分鐘

在子表示式(分鐘)裡的「3/20」表示從第3分鐘開始,每20分鐘(它和「3,23,43」)的含義一樣

「?」字元僅被用於天(月)和天(星期)兩個子表示式,表示不指定值

當2個子表示式其中之一被指定了值以後,為了避免衝突,需要將另乙個子表示式的值設為「?」

「l」 字元僅被用於天(月)和天(星期)兩個子表示式,它是單詞「last」的縮寫

但是它在兩個子表示式裡的含義是不同的。

在天(月)子表示式中,「l」表示乙個月的最後一天

在天(星期)自表示式中,「l」表示乙個星期的最後一天,也就是sat

如果在「l」前有具體的內容,它就具有其他的含義了

例如:「6l」表示這個月的倒數第6天,「fril」表示這個月的最乙個星期五

注意:在使用「l」引數時,不要指定列表或範圍,因為這會導致問題

字段   允許值   允許的特殊字元

0-59

, - * /

0-59

, - * /

小時

0-23

, - * /

日期

1-31

, - * ? / l w c

月份

1-12 或者 jan-dec

, - * /

星期

1-7 或者 sun-sat

, - * ? / l c #

年(可選)

留空, 1970-2099

, - * /

Spring註解配置定時任務

首先在配置檔案頭部的必須要有 xmlns task 其次xsi schemalocation必須為其新增 spring task.xsd然後spring掃瞄過程必須涵蓋定時任務類所在的目錄 com.xx.xx屬於定時任務類的父級甚至更高階 然後設定動作啟用定時任務應用 import org.spri...

Spring註解配置定時任務

首先在配置檔案頭部的必須要有 xmlns task 其次xsi schemalocation必須為其新增 org schema task org schema task spring task.xsd然後spring掃瞄過程必須涵蓋定時任務類所在的目錄 com.xx.xx屬於定時任務類的父級甚至更高...

Spring註解配置定時任務

首先在配置檔案頭部的必須要有 xmlns task 1其次xsi schemalocation必須為其新增 spring task.xsd12 然後spring掃瞄過程必須涵蓋定時任務類所在的目錄 1com.xx.xx屬於定時任務類的父級甚至更高階 然後設定動作啟用定時任務 1最後設定任務類 imp...