转载

Quartz官方教程翻译系列-Lesson 1

第一课: 使用 Quartz

在你可以使用 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相当简单。在第二课我们会快速概览 JobsTriggers ,并且 Quartz 的API,让你可以更深入理解这个例子。

本文由博客一文多发平台 OpenWrite 发布!

原文  https://segmentfault.com/a/1190000021107899
正文到此结束
Loading...