存档在 ‘Quartz’ 分类

系列三:quartz cron 表达式详解

2010年5月13日

任务和触发器是quartz的两大块核心。触发器分CronTrigger 和SimpleTrigger 。

CronTrigger 支持比 SimpleTrigger 更具体的调度,而且也不是很复杂。基于 cron 表达式,CronTrigger 支持类似日历的重复间隔,而不是单一的时间间隔 —— 这相对 SimpleTrigger 而言是一大改进。掌握CronTrigger,是非常必要D。系列二:Quartz 起步已经有了初步的解释,此篇算是详解吧。

字段         允许值               允许的特殊字符   秒           0-59                 , – * /   分           0-59                 , – * /   小时         0-23                 , – * /   日期         1-31                 , – * ? / L W C   月份         1-12 或者 JAN-DEC    , – * /   星期         1-7 或者 SUN-SAT     , – * ? / L C #   年(可选)   留空, 1970-2099      , – * /  

阅读全文——共2110字

系列二:Quartz 起步

2010年5月13日

本章对 Quartz 框架一个快速的入门介绍。

一、Quartz 框架的发展历程

和现今许多在用的开源项目一样,Quartz之初也只是为个人开发者提供了一个简单的实现方案。但是随着日益增多的关键人员的积极参与和慷慨的贡献,Quartz 已经成为了一个为众人所知,并且能帮助人们解决更大问题的框架。 Quartz 项目 是由 James House 创立的,它在1998年就有该框架最初的构思。包括作业队列的概念,使用线程池来处理作业,也许它最早的模型已不为现今的Quartz使用者所知了。 在接下来的数年中,House 自己说他一直在关注着同一个需求:需要一个灵活的作业调度工具。他在找寻便宜且具有丰富特征的Java作业调度工具时,让他面临着以下几个选择:     ·一个昂贵的商业化工具     ·嵌入在大框架之中的,根本用不着这么一个大框架     ·类似 Unix Cron 或者 Windows 的计划任务     ·自己亲自定制的方案 House 有限的选择和在这个问题上的兴趣促成了他为作业调度器创建一个开源的项目。在2001年春天,他在 SourceForge 上创立了该项目,这一网址 http://sourceforge.net/projects/quartz 现在还是有效的,只是已经不再维护了。 自从 Quartz 的雏形一出来,众多的捐助者和开发人员加入到这个项目中来。然而应该说,Quartz 能象今天这么存在还是要感谢 House 以及他在作业调度领域中的兴趣。在众多人眼中,他那解决问题的决心很值得称颂的。

阅读全文——共6248字

系列一:任务调度及Quartz简介

2010年5月13日

一、什么是作业调度

 

“作业”,这一技术述语上的概念,又让我们回到了大型机的年代,那时候,用户/程序员提交一叠穿孔卡片或者纸带(上面描述了一个作业)给操作人员,由操作人员帮忙执行那些作业。用户等待作业执行完后,回到主机那边取自己的卡片和打印出来的输出结果。 因为不是每一个作业要求立即被执行,所以作业可以被安排在将来的某个时候执行。比如说,一个系统管理员每天晚上可能有一份要执行的作业列表:     · 10:00 PM: 运行患者信息文件的上载作业     · 11:00 PM: 运行销售数据报表生成     · 11:59 PM: 进行数据库的备份 作业调度通常是指运行一个批量的作业或称之谓批处理。这种批处理作业一般都是放在后台运行并且不需要与用户交互。现在,显著增多的多样性的任务已代替了早先的批量作业。在一个大的组织中每天的每小时跑上百个作业已属普遍。并且作业的规模与复杂性仍在持续的上扬,因此批量作业和作业调度器也就随需应生。

阅读全文——共2416字