Spring Task 定時任務

2021-10-01 18:42:02 字數 2288 閱讀 6627

1>.spring task概述

2>.快速入門

<?xml version="1.0" encoding="utf-8"?>

xmlns

=""xmlns:xsi

=""xmlns:task

=""xsi:schemalocation

=" /spring-beans.xsd

/spring-task.xsd"

>

<

task:annotation-driven

>

task:annotation-driven

>

beans

>

@component

public

class

ordertask

}

3>.cron表示式

1.

seconds:可出現,-

*/四個字元,有效範圍為0-

59的整數

2.minutes:可出現,-

*/四個字元,有效範圍為0-

59的整數

3.hours:可出現,-

*/四個字元,有效範圍為0-

23的整數

4.dayofmonth:可出現,-

*/?l

wc八個字元,有效範圍為1-

31的整數

5.month:可出現,-

*/四個字元,有效範圍為1-

12的整數或jan-decdayofweek:可出現,-

*/?l

c#四個字元,有效範圍為1-

7的整數或sun-sat兩個範圍。

1表示星期天,

2表示星期一,

依次類推

6.year:可出現,-

*/四個字元,有效範圍為

1970

-2099

1.

*:表示匹配該域的任意值

,任意時刻

2.?:

只能用在dayofmonth和dayofweek兩個域。它也匹配域的任意值,但實際不會。

因為dayofmonth和dayofweek會相互影響。

[例如想在每月的

20日觸發排程,不管

20日到底是星期幾,則只能使用如下寫法:

1313

1520*?

,其中最後一位只能用?,而不能使用

*如果使用

*表示不管星期幾都會觸發,實際上並不是這樣]3.

-:表示範圍,例如在minutes域使用5-

20,表示從5分到

20分鐘每分鐘觸發一次

4./:表示起始時間開始觸發,然後每隔固定時間觸發一次,例如在minutes域使用5/

20,則意味著

5分鐘觸發一次,而25,

45等分別觸發一次5.,

:表示列出列舉值值。例如:在minutes域使用5,

20,則意味著在5和

20分每分鐘觸發一次

6.l:表示最後,只能出現在dayofweek和dayofmonth域,如果在dayofweek域使用5l

,意味著在最後的乙個星期四觸發

7.w:表示有效工作日

(周一到周五),

只能出現在dayofmonth域,系統將在離指定日期的最近的

有效工作日觸發事件

[例如:在dayofmonth使用

5w,如果

5日是星期六,則將在最近的工作日:星期五,即

4日觸發。如果5

日是星期天,則在

6日觸發][

如果5日在星期一到星期五中的一天,則就在

5日觸發。另外一點,w的最近尋找不會跨過月份]8.

lw:這兩個字元可以連用,表示在某個月最後乙個工作日,即最後乙個星期五

9.#:用於確定每個月第幾個星期幾,只能出現在dayofmonth域。例如在4#

2,表示某月的第二

個星期三

@

scheduled

(cron

="0 0/2 * * * ?"

):每兩分鐘間隔執行一次任務

@scheduled

(cron

="0 0 1 * * ?"):

每天凌晨執行一次

Spring Task 定時任務

所謂定時任務,就是根據我們設定的時間定時執行任務,就像定時發郵件一樣,設定時間到了,郵件就會自動傳送。在 spring 大行其道的今天,spring 也提供了其定時任務功能,spring task。同 spring 的其他功能一樣,我們既可以通過配置檔案也可以通過註解形式來實現。一 通過配置檔案 1...

Spring Task定時任務

spring task是spring3.0以後提供的定時任務工具。使用spring定時任務,除spring相關的包外不需要新增額外的jar包,支援註解和xml配置兩種形式。準備工作 在spring配置檔案頭中新增命名空間xmlns task及描述。1.1編寫註解的定時任務類 import org.s...

Spring task定時任務

第一次寫定時任務,簡訊通知定時,雖然寫完了,但是感覺 不夠簡潔,效能不行害怕跑蹦了,放到這裡一是為了記錄,更多的是希望大家提出寶貴的意見。1.將使用者id拼接成字串,用來批量查詢使用者資訊。string memberid membertransactions.stream map membertra...