在你使用调度器之前,需要借助一些具体的例子去理解。 你可以使用SchedulerFactory类来达到程序调度的目的。 有一些Quartz框架的用户可能会将factory的实例存储在JNDI中,其他人为了便于举例子就直接使用factory的实例(比如下文的代码片段)。
一旦调度器实例化后,它就能够启动,等待执行和关闭。需要注意的是一旦调度器调用了shutdown方法关闭后,如果不重新实例化,它就不会启动了。触发器在调度器未启动时,或是中止状态时,都不会被触发。
接下来浏览下面的代码片段,它实例化和启动了一个调度器,并且调度执行了一个Job对象。
JobDetail jobDetail = JobBuilder//
.newJob(HelloJob.class)//
.withIdentity("testJob_1", "group_1")//
.build();
Trigger trigger = TriggerBuilder//
.newTrigger()//
.withIdentity("trigger_1", "group_1")//
.startNow()//
.withSchedule(//
SimpleScheduleBuilder.simpleSchedule()//
.withIntervalInSeconds(1) // 时间间隔
.withRepeatCount(5) // 重复次数(将执行6次!!!)
).build();
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
sched.scheduleJob(jobDetail, trigger);
sched.start();
由上可知,使用Quartz框架非常简单,在第二课我们将会快速介绍Jobs类,Triggers类和Quartz的API,以便加深对这个示例的理解。