Quzrtz介绍

来源:互联网 发布:免谷歌软件下载商店 编辑:程序博客网 时间:2024/05/18 21:48
Quartz是什么
    官网是这么介绍的,Quartz是一个功能丰富的开源项目,可以集成在任何Java应用中,它可以用来创建几十,几百甚至成千上万的工作任务,Quartz调度器还包括许多企业级特性,比如支持JTA事务和集群。(官网地址 http://www.quartz-scheduler.org/

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个, 甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。

它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。


Quartz使用的地方有很多,比如报表中需要每天凌晨十二点统计数据,还有RSS文件的生成也是通过Quartz定义作业,每隔半小时生成一次RSS XML文件。



使用Quartz
首先导入Quartz的jar包以及需要的关联jar包,可以在http://www.quartz-scheduler.org/downloads/下载后的lib中找到所需jar包,maven用户如下
<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>
将quartz.properties文件添加到class下


调度器

Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。

启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。

Quartz依赖一套松耦合的线程池管理部件来管理线程环境。


任务(Job)

 Job就是一个执行任务的简单Java类,任务可以是任何的Java代码,只需要实现org.quartz.Job接口并且在出现严重错误情况下抛出

JobExecutionException异常即可。Job接口包含唯一的一个方法execute()作业从这里开始执行。一旦实现了Job接口execute()

方法,当Quartz确定该是作业运行的时候,它将调用你的作业。Execute()方法内就完全是你要做的事情。



触发器

Quartz中的触发器用来告诉调度程序作业什么时候触发。框架提供了一些触发器类型,但两个最常用的是SimpleTrigger

CronTrigger。

0 0