Scheduler在使用以前須要實例化。通常經過SchedulerFactory來建立一個實例。有些用戶將factory的實例保存在JNDI中,但直接初始化,而後使用該實例也許更簡單(見下面的示例)。git
scheduler實例化後,能夠啓動(start)、暫停(stand-by)、中止(shutdown)。注意:scheduler被中止後,除非從新實例化,不然不能從新啓動;只有當scheduler啓動後,即便處於暫停狀態也不行,trigger纔會被觸發(job纔會被執行)。github
下面的代碼片斷,實例化並啓動一個scheduler,調度執行一個job:web
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,而後你會更好地理解上面的示例。api
原文連接less
本系列教程由quartz-2.2.x官方文檔翻譯、整理而來,但願給一樣對quartz感興趣的朋友一些參考和幫助,有任何不當或錯誤之處,歡迎指正;有興趣研究源碼的同窗,能夠參考我對quartz-core源碼的註釋(進行中)。ui