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

 

第六, 集群

     容错

     集群 

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Struts 2 概要说明

概要也 许每一本关于技术的书都应该有一个叫做HelloWorld的示例,应为这非常直观的表现了技术的特性。这本书也不特殊,在这一节中主要涉及一些 Strut 2 的基本特性的说明,包括,如何下载建立开...

java工程师面试题大全-100%公司笔试题你都能碰到几个

Java hibernate中离线查询去除重复项怎么加条件?? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENT...

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

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

struts1中使用quartz

参考网上一些资料,写了一个demo,主要实现在web应用启动时,将数据库中保存的job

java中如何用Quartz框架来实现定时任务(一)

 Quartz介绍: Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用...

Struts1 bean标签的使用

关于bean标签的使用平时用到的很多,但是每次用到都要去查,老是记不住,今天在这为加深记忆,特别写此日志....一:bean标签常用的有在页面格式化日期显示,这样就不用在后台写特别格式化的代码就可以把...

quartz入门用法

  • 2014-05-13 21:57
  • 699KB
  • 下载

Quartz如何从入门到精通

  • 2012-01-19 15:18
  • 310KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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