Quartz教程一:使用quartz
阿新 • • 發佈:2018-12-22
原文連結 | 譯文連結 | 翻譯:nkcoder | 校對:方騰飛
本系列教程由quartz-2.2.x官方文件翻譯、整理而來,希望給同樣對quartz感興趣的朋友一些參考和幫助,有任何不當或錯誤之處,歡迎指正;有興趣研究原始碼的同學,可以參考我對quartz-core原始碼的註釋(進行中)。
Scheduler在使用之前需要例項化。一般通過SchedulerFactory來建立一個例項。有些使用者將factory的例項儲存在JNDI中,但直接初始化,然後使用該例項也許更簡單(見下面的示例)。
scheduler例項化後,可以啟動(start)、暫停(stand-by)、停止(shutdown)。注意:scheduler被停止後,除非重新例項化,否則不能重新啟動;只有當scheduler啟動後,即使處於暫停狀態也不行,trigger才會被觸發(job才會被執行)。
下面的程式碼片段,例項化並啟動一個scheduler,排程執行一個job:
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); // define the job and tie it to our HelloJob class JobDetail job = newJob(HelloJob.class) .withIdentity("myJob", "group1") .build(); // Trigger the job to run now, and then every 40 seconds Trigger trigger = newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(40) .repeatForever()) .build(); // Tell quartz to schedule the job using our trigger sched.scheduleJob(job, trigger);
你看到了,quartz的使用並不難。教程二會簡要地介紹job和trigger,以及quartz的API,然後你會更好地理解上面的示例。