Quartz定时任务调度

       对于具有一定规模的大多数企业来说,存在着这样一种需求:存在某个或某些任务,需要系统定期,自动地执行,然而,对大多数企业来说,该技术的实现,却是他们面临的一大难点和挑战。

Quartz定时任务调度

 对于大部分企业来说,实现如上功能,挑战在哪里?

挑战一:如何做一个自动服务的系统?

      是从0到1开发(费时费力花钱,还不一定开发成功,即使开发成功,也未必好用),还是购买第三方服务(花钱)。

挑战二:如何实现复杂的“定期规则”?

     对于简单的定期规则,可以借助于windows自带的执行计划来执行,但若是复杂的定期规则,windows执行计划未必可行,然而,Quartz的cron却很好地解决了该问题,

(可以说,cron在表达时间规则方面,无所不能),除此之外,Quartz能很好地配合windows执行计划,实现系统的定期,自动执行任务。

      通过如上概述,我们知道Quartz能很好地解决该问题,那么,什么是Quartz呢?

      简言之,Quartz就是一种任务调度计划。

它是由OpenSymphony提供的、开源的、java编写的强大任务调度框架

几乎可以集成到任何规模的运用程序中,如简单的控制台程序,复杂的大规模分布式电子商务系统

可用于创建简单的或复杂的计划任务

包含很多企业级功能,如支持JTA和集群等

      本篇文章,主要从Quartz框架核心组件,Quartz基本运行原理,Quartz核心概念和Quartz基本功能实现(代码)等方面来介绍Quartz。

二  Quartz

当要深入研究一个技术时,研究它的体系结构和内部运行原理,不失为一种较好的方式。同理,我们在研究Quartz时,也采用类似的方法,

下图为Quartz的大致结构图。

Quartz定时任务调度

 

(一)Quartz关键组件

Quartz比较关键的两个核心组件分别为JobTrigger

job--表示任务是什么

trigger--表示何时触发任务

Quartz定时任务调度

 

(二)Quartz几个关键概念

1.IJob

IJob表示一个接口,该接口只有一个方法签名

public interface IJob { void Execute(JobExecutionContext context); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydwsp.html