第一课 开始使用Quartz框架
在你使用调度器之前,需要借助一些具体的例子去理解(谁会愿意只是猜着怎么使用啊?)。你可以使用ScheduleFactory类来达到程序调度的目的。有一些Quartz框架的用户会将factory的实例存储在JNDI中,其他人为了便于举例就直接使用factory的实例(比如下文的代码片段).
一旦调度器实例化后,它就能够启动、等待执行和关闭。需要注意的是一旦调度器用了shutdown方法关闭后,如果不重新实例化,它就不会再启动了。触发器在调度器未启动时,或者中止状态时,都不会被触发。
接下来的代码片段,实例化和启动了一个调度器,并且调度执行了一个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框架非常简单。在第二课中我们将快速介绍Jobs类,Triggers类和Quartz的API,以便加深对这个示例的理解。