第一课:开始使用Quartz框架
在你使用调度器之前,需要借助一些具体的例子去理解(谁愿意只是猜啊?)。你可以使用SchedulerFactory类来达到程序调度的目的。有一些Quartz框架的用户可能会将factory的实例存储在JNDI中,其他人为了便于举例子就直接使用factory的实例(比如下文的代码片段)。
一旦调度器实例化后,它就能够启动,等待执行和关闭。需要注意的是一旦调度器调用了shutdown方法关闭后,如果不重新实例化,它就不会启动了。触发器在调度器未启动时,或是中止状态时,都不会被触发。
接下来浏览下面的代码片段,它实例化和启动了一个调度器,并且调度执行了一个Job对象。
1 SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); 2 3 Scheduler sched = schedFact.getScheduler(); 4 5 sched.start(); 6 7 // define the job and tie it to our HelloJob class 8 JobDetail job = newJob(HelloJob.class) 9 .withIdentity("myJob", "group1") 10 .build(); 11 12 // Trigger the job to run now, and then every 40 seconds 13 Trigger trigger = newTrigger() 14 .withIdentity("myTrigger", "group1") 15 .startNow() 16 .withSchedule(simpleSchedule() 17 .withIntervalInSeconds(40) 18 .repeatForever()) 19 .build(); 20 // Tell quartz to schedule the job using our trigger 21 sched.scheduleJob(job, trigger);
由上可知,使用Quartz框架非常简单,在第二课我们将会快速介绍Jobs类,Triggers类和Quartz的API,以便加深对这个示例的理解。