Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。你可以到 http://www.quartz-scheduler.org/站点下载 Quartz 的发布版本及其源代码。目前最新的版本是2.2.1。
作为一个优秀的开源调度框架,Quartz 具有以下特点:
- 强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求;
- 灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式;
- 分布式和集群能力,Terracotta 收购后在原来功能基础上作了进一步提升。本文暂不讨论该部分内容
另外,作为 Spring 默认的调度框架,Quartz 很容易与 Spring 集成。
下面是Quartz中的一些术语:
- scheduler: 任务调度器
- trigger: 触发器,用于定义任务调度时间规则
- job: 任务,即被调度的任务
- misfire: 错过的,指本来应该被执行但实际没有被执行的任务调度