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