`
kobexing933
  • 浏览: 120409 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

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实例,quartz入门例子

    在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...

    Quartz入门学习(真丶入门)

    二、Quartz入门 1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行...

    quartz入门共3页.pdf.zip

    通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。

    Quartz入门教程

    "Quartz入门.html"这个文档可能详细介绍了如何设置和启动一个简单的Quartz调度程序。通常,你需要创建一个Job类,该类实现了`org.quartz.Job`接口,并重写了`execute`方法,这是实际执行的任务逻辑。然后,你可以...

    Quartz入门案例

    在"Quartz入门案例"中,我们通常会首先创建一个Job类,该类实现了`org.quartz.Job`接口。这个接口只有一个方法`execute(JobExecutionContext context)`,我们在其中编写实际的任务逻辑。例如: ```java public ...

    quartz入门demo

    【标题】"Quartz入门Demo"是一个非常适合初学者的实践项目,它旨在引导开发者了解和掌握Quartz这个强大的任务调度框架。Quartz是Java平台上广泛使用的开源任务调度库,能够帮助开发者实现应用程序中的定时任务执行。...

    Quartz入门到精通 中文WORD版.rar

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群...

    quartz入门例子,spring集成配置使用

    Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。

    Quartz如何从入门到精通.pdf

    Quartz入门到精通 Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如...

    开源定时器quartz入门

    NULL 博文链接:https://aiien007.iteye.com/blog/2105833

    quartz入门用法

    简单介绍quartz用法,介绍quartz用法步骤

    quartz案例,包括spring配置设置调度器和入门手册

    3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...

    Quartz所需jar包

    在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...

    Srping Quartz 资料多多

    "Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...

Global site tag (gtag.js) - Google Analytics