第1课 使用Quartz
在你使用scheduler之前,它需要被实例化(有谁愿意去猜呢?)。你要用SchedulerFactory实例化它。一些用户可能会将工厂实例保存到JNDI里,另一些用户可能就简单的实例化它(例如下面的例子就是这样)。
一旦scheduler被实例化,它就可以被启动,处于待机模式,然后关闭。注意,一旦scheduler被关闭,它就不能再次启动。Trigger不会触发(job不会执行),直到scheduler启动,或者处于暂停态。
这里是一个代码片段,它实例化和启动了一个scheduler,并调度了一个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
是相当简单的。在第
2课中,我们看看Job和Trigger以及
Quartz
的
API
,这样你就能更好的理解这个例子。