第一课:开始使用Quartz框架
在你使用调度器之前,需要借助一些具体的例子去理解(谁愿意只是猜啊?)。你可以使用SchedulerFactory类来达到程序调度的目的。有一些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()
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
由上可知,使用Quartz框架非常简单,在第二课我们将会快速介绍Jobs类,Triggers类和Quartz的API,以便加深对这个示例的理解。