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可以在事务的上下文中执行。

 

第六, 集群

     容错

     集群 

 

定时任务服务开发笔记(1)——Quartz2+Spring3+Struts2整合

一转眼又有半年多没有更新了,我对于记录总缺少一些恒心。 这次是在公司有自己的需求,想要开发一个定时执行相应任务的服务,由于这方面平时比较少接触,很容易忘记,就稍微记录一下开发的过程吧。 计划中是使...
  • zijia889149650
  • zijia889149650
  • 2016年06月05日 01:00
  • 1315

quartz.*整合struts2、spring一个的demo

  • 2014年03月07日 17:54
  • 1.64MB
  • 下载

Quartz 2.2 的实现原理和运行过程固定时间后删除任务

Quartz 2.2 的实现原理和运行过程 一、Quartz 的几个概念类 这几个概念类,是我们调用Quartz任务调度的基础。了解清楚之后,我们再来看一下如何去启动和关闭一个Quartz调度...
  • u010357298
  • u010357298
  • 2017年09月07日 14:43
  • 695

quartz2.2/struts2/spring的整合demo

  • 2014年03月08日 15:27
  • 8.14MB
  • 下载

Quartz 入门

Quartz是什么?Quartz是一个全功能的,开源的作业调度程序,Quartz可以集成到任何的J2EE或者J2SE程序中(从最小的单机程序到复杂的电子商务系统)。Quartz可以管理即使,几百,甚至...
  • struts2
  • struts2
  • 2007年09月29日 23:04
  • 5426

【Quartz】Quartz概述及入门实例

Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外...
  • Evankaka
  • Evankaka
  • 2015年04月29日 08:57
  • 5056

Quartz 入门详解

概述 各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的MIS系统来说,在每月Java开源的好处就是:领域问题都能找到现成的解决方案。 2001年发布版本以来已经被众...
  • wenniuwuren
  • wenniuwuren
  • 2014年11月25日 16:17
  • 3892

Spring+Hibernate+Struts2整合Quartz, JOB中无法使用Spring注入

转载自:http://liulijun-cn-2011.iteye.com/blog/1597648          Quartz线程不是一个HTTP请求,不包含request对象,在Quartz...
  • lkx94
  • lkx94
  • 2015年03月19日 20:37
  • 783

struts quartz整合示例

  • 2014年10月07日 11:37
  • 5.85MB
  • 下载

Quartz学习,入门到精通

Quartz学习 介绍Quartz Quartz是一个开源的任务调度系统,它能用来调度很多任务的执行。 运行环境 · Quartz 能嵌入在其他应用程序里运行。  · Quartz 能在一个...
  • w451373766
  • w451373766
  • 2011年12月20日 11:59
  • 1003
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Quartz 入门
举报原因:
原因补充:

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