-
start();? ? ? ? ? ?開啟
standby();? ? ? 掛起,可以使用start()再次開啟
shutdown();? ?完全關(guān)閉scheduler,不可以被start()所開啟
查看全部 -
調(diào)度器:Scheduler
任務(wù):Job和JobDetail
觸發(fā)器:Trigger
查看全部 -
通配符說明
查看全部 -
“/”是每的意思? 0/5就是表達每五秒鐘? “,”是“或”的關(guān)系 14,18表示14點和18點
查看全部 -
這里的L? 代表最后 last? 所以6L表示最后的星期五
查看全部 -
這里的#號是第的意思,6代表的是星期五? 6#3 表示的是 第三周的星期五
查看全部 -
這里的年可以缺省,就可以不寫
查看全部 -
這里的cron表達式中的*代表“每X”,如這里的* * *。。是每秒每分每小時這樣的
查看全部 -
完整的Job使用流程查看全部
-
JobDataMap的概念和使用查看全部
-
Job和JobDetail的重要屬性查看全部
-
將JobDetail和Trigger綁定到Scheduleer中去查看全部
-
創(chuàng)建JobDetail和Trigger查看全部
-
Job的創(chuàng)建查看全部
-
Quartz用到的設(shè)計模式
查看全部 -
鏈式編碼?
查看全部 -
job、trigger、scheduler
查看全部 -
通配符說明
查看全部 -
cron tigger
查看全部 -
請問為什么是先啟動再綁定,感覺不符合邏輯啊
查看全部 -
Quartz與Spring整合(前提搭建好Spring環(huán)境)
步驟1:pom文件引入jar包,Quartz需要使用Spring的上下文。它還需要使用到Spring的事物。其次就是Quartz的jar包了。
Spring結(jié)合Quartz實現(xiàn)定時任務(wù):
方式一:MethodInvokingJobDetailFactoryBean適合調(diào)用特定bean方法時很方便。
如圖:MethodInvokingJobDetailFactoryBean可以通過dispatcherServlet.xml進行配置,通過它就可以創(chuàng)建JobDetail,其中myBean相當于實現(xiàn)定時任務(wù)的類,注入的printMessage為定時任務(wù)的方法名。之后再結(jié)合Trigger就可以實現(xiàn)定時的執(zhí)行。
方式二:JobDetailFactoryBean支持傳入一些參數(shù)。
查看全部 -
定時任務(wù)的配置形式(聲明式的配置,因為這樣可以簡化代碼的實現(xiàn),這樣就可以將配置信息與代碼相分離,便于程序的維護)
StdScheduler是通過讀取quartz.properties配置文件信息進行加載的。
quartz.properties的位置和加載順序:默認情況下Quartz運行時加載的是工程目錄下的quartz.properties,如果工程目錄下沒有quartz.properties,那么就會到Quartz的jar包中去加載quartz.properties配置文件。
如圖:工程目錄中沒有quartz.properties文件情況。
舉例:自定義quartz.properties配置文件,并放置項目工程目錄的根目錄下,通過修改線程池中線程數(shù)量為-1,驗證了加載的是工程目錄中的配置文件。
quartz.properties配置文件的組成:stdScheduler在啟動時,就會加載該配置文件,參考該配置文件進行初始化。
1、調(diào)度器屬性
2、線程池屬性:關(guān)系到Quartz后臺處理能力的性能。
threadCount:Quartz創(chuàng)建的線程用來處理定時任務(wù)的業(yè)務(wù),最少為1,它沒有限制,并且沒有默認值,但出于資源的有限考慮,適量即可。
threadPriority:設(shè)置工作線程的優(yōu)先級,優(yōu)先級大優(yōu)先執(zhí)行它的定時任務(wù),它的最大值為10,最小值為1,正常情況下設(shè)置為5,5也是默認值,集群中會用到它。
org.quartz.threadPool.class
3、作業(yè)存儲設(shè)置
4、插件配置
查看全部 -
Scheduler:通過工廠模式創(chuàng)建的,如圖,SchedulerFactory的實現(xiàn)類有兩個,常用的是StdSchedulerFactory。
Job和Trigger的關(guān)系:如圖。
Scheduler的創(chuàng)建方式:如圖。
接下來主要講解StdSchedulerFactory,因為DirectSchedulerFactory的參數(shù)都需要代碼去實現(xiàn)的(開發(fā)中提倡聲明式配置,就是在配置文件中進行配置,例如xml中等)。
StdSchedulerFactory:使用一組參數(shù)(Java.util.Properties)來創(chuàng)建和初始化Quartz調(diào)度器,其中這組參數(shù)就包括了指定后臺運行Quartz的線程數(shù)。還有Job的信息存儲在何種介質(zhì)中(例如內(nèi)存中、或者數(shù)數(shù)據(jù)庫中),配置參數(shù)一般存儲在quartz.properties中。StdSchedulerFactory通過getScheduler犯法來創(chuàng)建和初始化調(diào)度器對象。
Scheduler的主要函數(shù):
Date?scheduleJob(JobDetail?jobDetail,Trigger?trigger):綁定JobDetail和Trigger,將其注入到Scheduler,其中返回的Date表示即將執(zhí)行的最近一次的執(zhí)行時間,如圖。
void start():它是用來啟動Scheduler調(diào)度器,指定定時任務(wù)的。
void?standby():Scheduler暫時掛起,暫停工作。停止之后可以再通過start方法重新啟動。
void shutdown():關(guān)閉調(diào)度器,不可以重新啟動了。
注意:shutdown支持傳入一個布爾類型的參數(shù),如果傳入的為true,就表示等待所有正在執(zhí)行j的job執(zhí)行完畢后,再進行關(guān)閉scheduler。如果傳入的false,那么就和無參數(shù)一樣,表示直接關(guān)閉scheduler。
舉例:shutdown(true),如圖。
查看全部 -
CronTrigger的作用:基于日歷的觸發(fā)器,而不是像SimpleTrigger精確到指定間隔時間,它比SimpleTrigger更常用(例如:每月的1號執(zhí)行定時任務(wù),這是SimpleTrigger實現(xiàn)不了的)。
Cron表達式:CronTrigger是基于Cron表達式實現(xiàn)的,如圖。
舉例:通過CronTrigger實現(xiàn)每秒鐘實現(xiàn)一次定時任務(wù)。
Cron表達式:使用規(guī)則如下圖(","表示或的意思,"-"表示至的意思,"*”表示所有的意思,"/"表示每的意思,"?"表示任意的意思,“#”表示第的意思。
Cron表達式舉例:如圖。
注意:
日和周不能是同一個值(不能同時是*或者?)
月和周的英文不區(qū)分大小寫,?
周X是(X+1),周日是1作業(yè):
查看全部
舉報