1、scheduler是乙個計畫排程器容器,容器裡面可以盛放眾多的jobdetail和trigger,當容器啟動後,裡面的每個jobdetail都會根據trigger按部就班自動去執行。
2、jobdetail是乙個可執行的工作,它本身可能是有狀態的。
3、trigger觸發器代表乙個排程引數的配置,什麼時候去調。
4、當jobdetail和trigger在scheduler容器上註冊後,形成了裝配好的作業(jobdetail和trigger所組成的一對兒),就可以伴隨容器啟動而排程執行了。
5、scheduler是個容器,容器中有乙個執行緒池,用來並行排程執行每個作業,這樣可以提高容器效率。
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...