About Quartz

# Quartz ### 一、什么是Quartz作业调度? Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序,从小的单片机系统到大型的电子商务系统。Quartz可以执行成千上万的任务调度。 ### 二、quartz的体系结构 #### 1.quartz中使用了以下几种设计模式。 1.1Builer模式 2.Factory模式 3.组件模式 4.链式写法 #### 2.三个主要概念 调度器:Quartz框架的核心就是调度器,调度器负责管理Quartz应用运行时环境,调度器不是考自己完成所有的工作。而是依赖框架内一些非常重要的部件。Quartz不仅是线程和线程池的管理者,为确保可伸缩性,Quartz采用了基于多线程的架构,启动时,框架初始化一套Worker线程,这套线程被调度器来执行预定的任务。这就是Quartz怎么能并发运行多个任务的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。 任务:这个就是我们自己编写的业务逻辑代码,交给Quartz来帮助我们执行。 触发器:调度任务,什么时候开始执行,什么时候结束执行。 #### 3.quartz的体系结构 quartz框架至少有三百多个类组成,这里我们重点介绍几个它的核心部分。 JobDetail:quartz每次都会直接创建一个JobDetail,同事创建一个Job示例,它不直接接受一个Job示例,但是它接受一个Job的实现类,通过new instance()的反射方式来实例一个Job,这里Job是一个接口,我们需要自己编写实现类去实现这个接口。 Trigger:它由SimpleTrigger和CronTrigger组成,SimpleTrigger实现类似Timer的定时调度任务,CronTrigger可以通过Cron表达式来实现一些更复杂的任务调度。 Scheduler:调度器,JobDetail和Trigger可以通过Schedule绑定到一起。