在你可以使用 sheduler
[任务调度]之前,它需要被实例化(谁会猜到?)。要做到这一点,你需要用一个 SchedulerFactory
[任务调度工厂]。部分Quartz用户可能会在JNDI存储上持有一个工厂实例,其他使用者可能发觉直接实例化和使用工厂实例同样容易(或更容易)(正如以下的例子)。
一旦一个 sheduler
实例化,它就可以开始,处于待机状态,并可以关闭。注意到一旦一个 sheduler
关闭,它就不能再重新启动,除非再实例化。 Triggers
[触发器]在 sheduler
开始之前,不会被触发(`jobs不会执行),在暂停状态也是如此。
这里是一个快速代码片段,实例化并启动一个 sheduler
,并安排作业执行。
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); // 定义job 并且绑定到 HelloJob 类 JobDetail job = newJob(HelloJob.class) .withIdentity("myJob", "group1") .build(); // 立刻触发job执行,并每40秒执行一次 Trigger trigger = newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(40) .repeatForever()) .build(); // 告诉quartz 使用我们的触发器来执行job sched.scheduleJob(job, trigger);
如你看到,用quartz相当简单。在第二课我们会快速概览 Jobs
和 Triggers
,并且 Quartz
的API,让你可以更深入理解这个例子。
本文由博客一文多发平台 OpenWrite 发布!