Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。 此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
Quartz核心简单描述作业(Job)实际上就是一个实现了Job接口的Java类,在其execute方法中,就是本次任务所执行的内容。(注:在和spring整合中如果用RAMJobStore去存储Job,可以不去实现Job接口。)Job状态一些信息可以通过JobDataMap被Job访问到,然后每次执行Job的时候都要从一个存储环境中取到值,然后创建一个新的JobDataMap,然后去执行Job,但是无法在两次Job之间持有那些信息;
一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的。'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。
Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。 此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
几乎每个项目中都用到了自动任务处理功能。所以在任务调度的功能很常用,但是一个好的任务调度程序是一个颇具挑战性的工作。最近用到Quartz这个框架,感觉很好,所以进行学习。下面的是转载的一份入门的文档。
Quartz是一个大名鼎鼎的Java版开源定时调度器,功能强悍,使用方便。 一、核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。
在这个演示中,我们只接触了Quartz框架的一些初级功能。记住,Java 5 和J2EE 5也有自己的任务调度机制,但是它们不像Quartz那样灵活易用。Quartz是目前唯一的开源Java任务调度框架,它的确为开发者的锦囊中增加了很有用的内容。你可从Open Symphony下载Quartz,并得到一份很好的教程和使用说明。
Quartz简单的一个实例
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
Quartz是一个开源的任务调度系统,它能用来调度很多任务的执行。•Quartz 能嵌入在其他应用程序里运行。 •Quartz 能在一个应用服务器里被实例化(或servlet容器), 并且参与XA事务•Quartz能独立运行(通过JVM),或者通过RMI •Quartz能被集群实例化
Java中Spring与Quartz整合定时任务
使用Quartz.net使用scheduler之前应首先实例化它。使用SchedulerFactory可以完成scheduler的实例化。用户可直接地实例化这个工厂类并且直接使用工厂的实例(例如下面的例子)。一旦一个scheduler被实例化,它就可以被启动(start),并且处于驻留模式,直到被关闭(shutdown)。
本节课程介绍上一节简单演示了如何调度一个作业。Quartz的核心就是Scheduler。本节将讲解如何使用Scheduler管理job信息。如何向Scheduler中添加触发器来触发信息。如何设置日期使触发器按规定触发。创建Scheduler做为一个Quartz框架的使用者,大多数时间我们都在与org.quartz.Scheduler接口实例进行操作。
介绍Quartz是一个开源的任务调度框架,能够安排多个任务在不同的时间执行。基本结构任务调度器Scheduler作业Job触发器Trigger任务分配任务控制任务存储Quartz配置Quartz集群Quartz介绍任务调度器Scheduler是Quartz框架的核心,管理Scheduler,管理Job,Trigger和Calendar。
你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用java编程吗?如果这些问题中任何一个你回答是,那么你应该使用Quartz调度器。
Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映像。 此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
介绍Quartz,Quartz是一个开源的任务调度系统,它能用来调度很多任务的执行。运行环境Quartz能嵌入在其他应用程序里运行。Quartz能在一个应用服务器里被实例化(或servlet容器),并且参与XA事务Quartz能独立运行(通过JVM),或者通过RMIQuartz能被集群实例化任务调度当一个指定给任务的触发器发生时,任务就被调度执行。
Quartz是什么?Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。
Jbpm3.1.x的时候,如果我们要实现Jbpm与Spring结合使用需要借助于SpringModule中spring-modules-jbpm31.jar来实现。目前Jbpm的最新版本是3.2.1,对于这一版本如果我们要实现其与Spring结合使用,同样我们也可以借助SpringModule中spring-modules-jbpm31.jar来实现。
Quartz是一个强大的企业级Schedule工具,也是目前最好的开源Schedule工具,最近因为项目的需要,简单的用到了Quartz的一些功能,对项目中使用Quartz的一些问题做简单的记录。