定時任務 Spring Task

2021-10-06 22:17:25 字數 1766 閱讀 4243

spring3.0以後自主開發的定時任務工具

seconds

,- * / 0-59

minutes

,- * / 0-59

hours

,- * / 0-23

dayofmonth

, - * / ? l w c 0-31

month

,- * / 1-12

dayofweek

, - * / ? l c # 1-7 1表示星期天,2表示星期一

year

- * / 1970-2099

注意兩個特殊的域dayofmonth dayofweek 兩者必須有乙個不指定數值 即 ?,因為兩者會產生衝突

假如在minutes域使用*, 即表示每分鐘都會觸發事件

例如在minutes域使用5-20,表示從5分到20分鐘每分鐘觸發一次

例如在minutes域使用5/20,則意味著5分鐘觸發一次,而25,45等分別觸發一次

在minutes域使用5,20,則意味著在5和20分每分鐘觸發一次

如果在dayofweek域使用5l,意味著在最後的乙個星期四觸發

例如想在每月的20日觸發排程,不管20日到底是星期幾,則只能使用如下寫法: 13 13 15 20 * ?

在 dayofmonth使用5w,如果5日是星期六,則將在最近的工作日:星期五,即4日觸發。如果5日是星期天,則在6日(周一)觸發;如果5日在星期一 到星期五中的一天,則就在5日觸發

#用於確定每個月第幾個星期幾,例如在4#2,表示某月的第二個星期三

<

task:scheduled-tasks

>

<

task:scheduled

ref=

"taskjob"

method

="job1"

cron

="0 * * * * ?"

/>

task:scheduled-tasks

>

<

context:component-scan

base-package

=" com.gy.mytask "

/>

@service

public

class

taskjob

}

@component

(「taskjob」)

public

class

taskjob

}

<

task:annotation-driven

scheduler

="qbscheduler"

mode

="proxy"

/>

<

task:schedulerid=

"pooltaskscheduler"

pool-size

="10"

/>

啟動類裡面使用@enablescheduling

@scheduled

(fixeddelay =

5000

)@scheduled

(fixedrate =

3000

)@scheduled

(cron =

"0 0,30 0,8 ? * ? "

)

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...