Quartz教程一:使用quartz

Posted 小皮球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quartz教程一:使用quartz相关的知识,希望对你有一定的参考价值。

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)

Scheduler在使用之前需要实例化。一般通过SchedulerFactory来创建一个实例。有些用户将factory的实例保存在JNDI中,但直接初始化,然后使用该实例也许更简单(见下面的示例)。

scheduler实例化后,可以启动(start)、暂停(stand-by)、停止(shutdown)。注意:scheduler被停止后,除非重新实例化,否则不能重新启动;只有当scheduler启动后,即使处于暂停状态也不行,trigger才会被触发(job才会被执行)。

 

下面的代码片段,实例化并启动一个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的使用并不难。教程二会简要地介绍job和trigger,以及quartz的API,然后你会更好地理解上面的示例。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Quartz教程一:使用quartz

以上是关于Quartz教程一:使用quartz的主要内容,如果未能解决你的问题,请参考以下文章

Quartz教程五:SimpleTrigger

Quartz入门指南

Quartz教程四:Trigger

Quartz 框架 教程(中文版)2.2.x

quartz Cron表达式一分钟教程

Quartz使用一