1. 背景
由于最新的工作项目中,需要使用quartz框架,以完成相关的任务的定时执行。经过两周的调研与使用,本系列博客会参考官网及网上相关博客,结合工作项目中的使用,详细介绍quartz的各个方面。如果有相关的错误,烦请不吝赐教。如果有相关的疑惑,可以评论,本人会抽空解答。
2. quartz是什么?
Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering.
基于官网解释,可以看出quartz是开源且具有丰富特性的"任务调度库",能够集成于任何的java应用,小到独立的应用,大至电子商业系统。quartz能够创建亦简单亦复杂的调度,以执行上十、上百,甚至上万的任务。任务job被定义为标准的java组件,能够执行任何你想要实现的功能。quartz调度框架包含许多企业级的特性,如JTA事务、集群的支持。
简而言之,quartz就是基于java实现的任务调度框架,用于执行你想要执行的任何任务。其次,quartz也支持.Net平台。
3. quartz的下载
quartz目前的最新版本为quartz-2.2.3,下载有两种方式,完整包或Maven依赖。
(1) 完整包的下载
完整包的下载地址:quartz-2.2.3-distribution.tar.gz,完整包中包含例子、源码、依赖以及说明文档等
(2) Maven依赖的导入
官网目前提供的Maven依赖为2.2.1,mvnrepository目前已支持2.3.0,版本之间的更新特性本人尚未研究。quartz的依赖至少有sl4j-api相关的jar包。
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>