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