Quartz和Spring整合配置使用

2021-08-22 13:34:36 字數 3299 閱讀 6953

1scheduler是乙個計畫排程器容器,容器裡面可以盛放眾多的jobdetailtrigger,當容器啟動後,裡面的每個jobdetail都會根據trigger按部就班自動去執行。

2jobdetail是乙個可執行的工作,它本身可能是有狀態的。

3trigger觸發器代表乙個排程引數的配置,什麼時候去調。

4、當jobdetailtriggerscheduler容器上註冊後,形成了裝配好的作業(jobdetailtrigger所組成的一對兒),就可以伴隨容器啟動而排程執行了。

5scheduler是個容器,容器中有乙個執行緒池,用來並行排程執行每個作業,這樣可以提高容器效率。

4.0.0

com.exam

quartz

0.0.1-snapshot

4.2.4.release

org.springframework

spring-context

$ org.springframework

spring-context-support

$ org.springframework

spring-web

$ org.springframework

spring-orm

$ org.springframework

spring-beans

$ org.springframework

spring-core$

org.quartz-scheduler

quartz

2.2.3

org.quartz-scheduler

quartz-jobs

2.2.3

public class myjob 

}

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

0/2 * * * * ?

public static void main(string args) }

2.cron語法相關

crontrigger配置完整格式為: [秒] [分] [小時] [日] [月] [周] [年]

字段允許值

允許的特殊字元

秒0-59

分0-59

小時0-23

日期1-31

, - * ? / l w c

月份1-12 或者 jan-dec

星期1-7 或者 sun-sat

, - * ? / l c #

年(可選)

留空, 1970-2099

* 表示所有值。在分鐘裡表示每一分鐘觸發。在小時,日期,月份等裡面表示每一小時,每一日,每一月。

?表示不指定值。表示不關心當前位置設定的值。 比如不關心是週幾,則周的位置填寫?。

- 表示區間。小時設定為10-12表示10,11,12點均會觸發。

,表示多個值。 小時設定成10,12表示10點和12點會觸發。

/ 表示遞增觸發。 5/15表示從第5秒開始,每隔15秒觸發。

l 表示最後的意思。 日上表示最後一天。星期上表示星期六或7。 l前加資料,表示該資料的最後乙個。

星期上設定6l表示最後乙個星期五。  6表示星期五

w表示離指定日期最近的工作日觸發。15w離該月15號最近的工作日觸發。

#表示每月的第幾個週幾。 6#3表示該月的第三個周五

表示式意義 

"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觸發 

每天早上6點     0 6 * * *     每兩個小時     0 */2 * * * 

晚上11點到早上8點之間每兩個小時,早上八點    0 23-7/2,8 * * * 

每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點     0 11 4 * 1-3 

1月1日早上4點     0 4 1 1 *

Spring整合使用quartz

spring已經整合了quartz,在spring中使用quartz的一般步驟為 1.實現任務類 public class productadschedulemanagerimpl 2.在spring xml 配置檔案中配置任務類bean 3.在spring xml 配置檔案中配置methodinv...

Spring框架整合Quartz

首先編寫任務類,該類繼承quartzjobbean父類,並在其實現方法內編寫job任務 配置spring的xml檔案,配置觸發器,以及排程器的bean jobdetail class org.springframework.scheduling.quartz.jobdetailbean name j...

spring和quartz整合實現定時任務

1 org.quartz scheduler quartz 2.2.1 org.quartz scheduler quartz jobs 2.2.1 2 org.springframework.web.context.contextloaderlistener contextconfiglocati...