定時任務元件Quartz Spring

2021-09-26 02:15:06 字數 3564 閱讀 6671

>

>

>

org.quartz-schedulergroupid

>

>

quartzartifactid

>

>

2.2.3version

>

dependency

>

>

>

org.quartz-schedulergroupid

>

>

quartz-jobsartifactid

>

>

2.2.1version

>

dependency

>

>

>

org.springframeworkgroupid

>

>

spring-context-supportartifactid

>

>

5.1.2.releaseversion

>

dependency

>

>

>

org.springframeworkgroupid

>

>

spring-txartifactid

>

>

5.1.2.releaseversion

>

dependency

>

>

>

junitgroupid

>

>

junitartifactid

>

>

4.12version

>

dependency

>

>

>

org.springframeworkgroupid

>

>

spring-testartifactid

>

>

5.1.2.releaseversion

>

dependency

>

>

>

org.slf4jgroupid

>

>

slf4j-jdk14artifactid

>

>

1.7.25version

>

dependency

>

dependencies

>

/**

* 自定義job

*/public

class

jobtest

}

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

xmlns

=""xmlns:xsi

=""xmlns:context

=""xsi:schemalocation

="/spring-beans.xsd

/spring-context.xsd"

>

"job"

class

="com.mytest.jobtest"

>

bean

>

"jobdetail"

class

="org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean"

>

name

="targetobject"

ref="job"

/>

name

="targetmethod"

value

="run"

/>

bean

>

"crontrigger"

class

="org.springframework.scheduling.quartz.crontrigge***ctorybean"

>

name

="jobdetail"

ref="jobdetail"

/>

name

="cronexpression"

>

>

0/5 * * * * ?value

>

property

>

bean

>

"scheduler"

class

="org.springframework.scheduling.quartz.schedule***ctorybean"

>

name

="triggers"

>

>

bean

="crontrigger"

/>

list

>

property

>

bean

>

beans

>

cron表示式

cron表示式分為七個域,之間使用空格分隔:* * * * * ? *七個域依次代表: 名稱

是否必須

允許值特殊字元秒是

0-59

, - * /分是

0-59

, - * /時是

0-23

, - * /日是

1-31

, - * ? / l w c月是

1-12 or jan-dec

, - * /週是

1-7 or sun-sat

, - * ? / l c #年否

空 or 1970-2099

, - * /

特殊字元

逗號(,):指定乙個值列表,例如使用在月域上1,4,5,7表示1月、4月、5月和7月

橫槓(-):指定乙個範圍,例如在時域上3-6表示3點到6點(即3點、4點、5點、6點)

星號(*):表示這個域上包含所有合法的值。例如,在月份域上使用星號意味著每個月都會觸發

斜線(/):表示遞增,例如使用在秒域上0/15表示每15秒

問號(?):只能用在日和周域上,但是不能在這兩個域上同時使用。表示不指定

井號(#):只能使用在周域上,用於指定月份中的第幾周的哪一天,例如6#3,意思是某月的第三個周五 (6=星期五,3意味著月份中的第三週)

l:某域上允許的最後乙個值。只能使用在日和周域上。當用在日域上,表示的是在月域上指定的月份的最後一天。用於周域上時,表示周的最後一天,就是星期六

w:w 字元代表著工作日 (星期一到星期五),只能用在日域上,它用來指定離指定日的最近的乙個工作日

@runwith

(springjunit4classrunner.

class

)@contextconfiguration

(locations =

)public

class

mytest

}}

定時任務元件Quartz

quartz是job scheduling 作業排程 領域的乙個開源專案,quartz既可以單獨使用也可以跟spring框架整合使用,在實際開發中一般會使用後者。使用quartz可以開發乙個或者多個定時任務,每個定時任務可以單獨指定執行的時間,例如每隔1小時執行一次 每個月第一天上午10點執行一次 ...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

at定時任務

at的守護程序每60秒檢查一次作業佇列,有作業時檢查作業,時間恰好達到,則執行作業。前提 保證atd程序已經啟動,檢查atd程序是否啟動 ps ef grep atd。atd的命令格式 at 選項 時間 ctrl d 結束at命令的輸入。選項 m 任務完成後給使用者傳送郵件,沒有標準輸出。i atg...