Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单
的或复杂的调度。它有很 多特征,如:数据库支持,集群,插件,EJB 作业预构建,JavaMail 及其它,支持 cron-like 表达式等等。
你曾经需要应用执行一个任务吗?这个任务每天或 每周星期二晚上 11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个
严重错误,应用能够知到其执行失败并尝 试重新执行吗?你和你的团队是用 Java 编程吗?如果这些问题中任何一个你回答是,那么你应该使用 Quartz 调度器。
旁注:Matrix 目前就大量使用到了 Quartz。比如,排名统计功能的实现,在 Jmatrix 里通过 Quartz 定义了一个定时调度作业,在每天凌晨一点,作业开始工作,重新统
计大家的 Karma 和排名等。还有,RSS 文件的生成,也是通过 Quartz 定义作业,每隔半个小时生成一次 RSS XML 文件。
Quartz 让作业调度简单
Quartz 是一个完全由 Java 编写的开源作 业调度框架。不要让作业调度这个术语吓着你。尽管 Quartz 框架整合了许多额外功能,但就其简易形式看,你会发现它易用得简
直让人受不了!。简单地创建 一个实现 org.quartz.Job 接口的 Java 类。Job 接口包含唯一的方法:
在你的 Job 接口实现类里面,添加一些逻辑到 execute()方法。一旦你配置好 Job 实现类并设定好调度时间表,Quartz 将密切注意剩余时间。当调度程序确定该是通知你的
作业的时 候,Quartz 框架将调用你 Job 实现类(作业类)上的 execute()方法并允许做它该做的事情。无需报告任何东西给调度器或调用任何特定的东西。 仅仅执行任务和结
束任务即可。如果配置你的作业在随后再次被调用,Quartz 框架将在恰当的时间再次调用它。
如果你使用了其它流行的开源框架象 struts,你会对 Quartz 的设计和部件感到舒适。虽然两个开源工程是解决完全不同的问题,还是有很多相似的之处,就是开源软件用
户每天感觉很舒适。Quartz 能用在单机 J2SE 应用中,作为一个 RMI 服务器,也可以用在 web 应用中,甚至也可以用在 J2EE 应用服务器中。
Quartz 的发展史
尽管 Quartz 今年开始受到人们注意,但还是 暂时流行。Quartz 由 James House 创建并最初于 2001 年春天被加入 sourceforge 工程。接下来的几年里,有许多新特征
和版本出现,但是直到项目迁移到新的站点并成为 OpenSymphony 项目家族的一员,才开始真正启动并受到应有的关注。
评论1