Quartz 入门

原创 2007年09月29日 23:04:00

Quartz是什么?

Quartz是一个全功能的,开源的作业调度程序,Quartz可以集成到任何的J2EE或者J2SE程序中(从最小的单机程序到复杂的电子商务系统)。Quartz可以管理即使,几百,甚至成千上万的简单或者复杂的作业调度。这些作业可以是任何标准的Java组件或者是EJB。Quartz作业调度系统包含了很多的企业级的特性,例如:JTA 事务,集群等。

 

Quartz特性

 

第一, 运行环境

Quartz可以嵌入到其他的自己运行的程序中

Quartz可以在应用服务器(或者web服务器)内部初始化,可以参与XA事务(分布式事务,两阶段提交)。

Quartz可以作为单独的Java程序运行(在单独的Java 虚拟机进程中运行),可以通过RMI远程使用

Quartz可以以分布式的方式运行(这样可以利用负载均衡和自动容错的功能)

 

第二,作业调度

当触发器发生的时候,作业会被调度执行。触发器使用几乎所有的下列指令的联合。

     一天中的某个时间(微秒级别)

     一周中的某些天

     一月中的某些天

     一年中的某些天

     不在注册的日历中的某些天

     重复若干次

     重复执行指导某个时间

     不确定的重复

     在一定的时间之后重复

作业可以被创建者命名,也可以被组织到命名的组中。触发器也可以被命名或者分组,这样可以在调度程序中方便的管理这些触发器。一个作业可以被注册到调度程序中一次,但是使用多个触发器。在J2EE环境中作业的内容可以参与到一个分布式事务中(XA Transaction)。

 

第三,作业执行

    作业可以是实现Job接口的任意的java类,作业中可以实现你想实现的任何内容。

    作业可以非Quartz实例化,也可以被你的程序实例化。

    当一个触发器发生的时候,调度程序会触发JobListener或者TriggerListener的实例,这些实例可以是简单的Java对象,EJB,JMS 发布者,等。Job执行结束之后也会触发这些Listener。

    当作业执行完毕之后会返回一个JobCompletionCode对象,这个对象包含了执行成功或者失败的信息。JobCompletionCode也可以指示Scheduler执行那些根据这个作业结果需要动态执行的那些作业。

 

第四,作业持久化

     Quartz设计中包含了一个JobStore的接口,你可以实现JobStore接口来使用不同的方式存储作业(Job)。

     使用JDBCJobStroe可以通过JDBC将稳定的作业和触发器存储在数据库中。

     使用RAMJobStore可以将作业和触发器放在内存中这样在每次执行结束的时候都会丢失这些内容,但是不需要使用外部的数据库。

 

第五, 事务

通过是使用JobStoreCMT(JDBCJobStore的子类)可以参与到JTA事务中。(将是否注册作业参与到其他的JTA事务中)

Quartz可以在作业开始或者结束的时候管理JTA事务(启动或者提交事务),这样Job可以在事务的上下文中执行。

 

第六, 集群

     容错

     集群 

 

quartz详解2:quartz由浅入深

http://blog.itpub.net/11627468/viewspace-1763498/ 一、quartz核心概念      先来看一张图:           ...

quartz scheduler 入门教程

  • 2015年07月08日 19:32
  • 25KB
  • 下载

Quartz入门案例

  • 2015年08月12日 22:04
  • 1.32MB
  • 下载

Quartz任务调度快速入门

转载文章, 阅读原文 概述 了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org...

Quartz任务调度快速入门

  • 2013年06月20日 08:48
  • 62KB
  • 下载

Java任务调度之Quartz快速入门

首先所谓的任务调度指的是软件系统在从某个时间节点开始,以固定的频率,除去特定的某些时间段,定期执行某项任务,比如可以在某个夜深人静的时候做一些大批量的文件传输、备份等耗费极大资源的工作,那么通过这个概...

Quartz定时器从入门到进阶

  • 2015年10月19日 18:48
  • 83KB
  • 下载

Quartz定时器快速入门学习(二)

在上一节中我们学习了手工方式创建定时器任务,接下来我们学习另外两种方式。          1. 第二种方式:通过吧job,trigger编写在配置文件quarz.properties和jobs.x...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Quartz 入门
举报原因:
原因补充:

(最多只允许输入30个字)