spring 定時任務

2021-09-22 21:35:36 字數 1550 閱讀 2149

spring定時任務;

1.第一步:

在springmvc的xml中加入如下:

(1)在xmlns中加一句:

xmlns:task=""

(2)在xsi中加如下**:

/spring-task-3.2.xsd

(3)再加乙個:

2.配置檔案加好之後,新建乙個類,**如下:

這個類加的位置不一樣會有不一樣的效果,把這個類放到controller包下,當服務啟動時他會自動執行,放到其他地方則需要觸發才能執行;

3.上面涉及到了cron表示式的問題,乙個cron表示式有至少6個(也可能7個)有空格分隔的時間元素

按順序依次為

秒(0~59)

鐘(0~59)

時(0~23)

天(1~31(但要注意一些特別的月份))

月(1~12)

周(1~7 1=sun 或 sun,mon,tue,wed,thu,fri,sat)

年(1970-2099)年(可選)

其中每個元素可以是乙個具體值(1),也可以是乙個連續區間(1-5),也可以是乙個間隔時間(1-4/2)(/表示每隔2),也可以是乙個列表(1,3,5),或萬用字元;

由於"月份中的日期"和"星期中的日期"這兩個元素互斥的,必須要對其中乙個設定?.

「?」字元:表示不確定的值;

「,」字元:指定數個值;

「-」字元:指定乙個值的範圍;

「/」字元:指定乙個值的增加幅度,n/m表示從n開始,每次增加m;

「l」字元:用在日表示乙個月中的最後一天,用在周表示該月最後乙個星期x;

「w」字元:指定離給定日期最近的工作日(周一到周五);

「#」字元:表示該月第幾個周x,6#3表示該月第3個周五;

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

秒 0-59 , - * /

分 0-59 , - * /

小時 0-23 , - * /

日期 1-31 , - * ? / l w c

月份 1-12 或者 jan-dec , - * /

星期 1-7 或者 sun-sat , - * ? / l c #

年(可選)留空,1970-2099 , - * /

4、cron表示式例項:

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

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

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

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

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

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

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

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

Spring定時任務

sayhello 0 08 21 下面的表示式 0 15 10 6l 2002 2005 將在2002年到2005年的每個月的最後乙個星期五上午10點15分執行作業。你不可能用 trigger來做這些事情。你可以用兩者之中的任何乙個,但哪個跟合適則取決於你的排程需要。更多詳細介紹參考此處 關於cro...

spring 定時任務

xmlns 多加下面的內容 xmlns task 然後xsi schemalocation多加下面的內容 spring task 3.1.xsd最後是我們的task任務掃瞄註解 或者 public inte ce imytestservice component import org.springf...

Spring 定時任務

scheduled cron 0 0 1 override public synchronized void dojob throws exception 字段 允許值 允許的特殊字元 秒 0 59 分 0 59 小時 0 23 日期 1 31 l w c 月份 1 12 或者 jan dec 星期...