Quartz(一)简介

Quartz聚合目录

Quartz(一)简介
Quartz(二)入门案例
Quartz(三)job和jobDetail介绍

企业任务日程调度–Quartz

一、Quartz概念

Quart是OpenSymphony开源组织在job scheduling领域又一个开源项目,它可以与j2EE与j2SE应用程序相结合也可以单独使用。
Quartz是开源且具有丰富特性的“任务调度库”,能够集成于任何Java应用,小到独立的应用,大至电子商业系统,Quartz能够创建亦简单亦复杂的调度,以执行上十、上百,甚至上万的任务。任务job被定义为标准的Java组件,能够执行任务你想要实现的功能。Quartz调度框架包含许多企业级的特性,如TA事务、集群的支持
简而言之,Quartz就是基于Java实现的任务调度框架,用于执行你想要执行的任何任务。
官网:
http://www.quartz-scheduler.org

二、Quartz运行环境

1、Quartz可以运行嵌入在另一个独立式应用程序
2、Quartz可以在应用程序服务器(或servlet容器)内被实例化,并且参与事务
3、Quartz可以作为一个独立的程序运行(其自己大的Java虚拟机内),可以通过RMI使用
4、Quartz可以被实例化,作为独立的项目集群(负载均衡和故障转移功能),用于作业的执行

三、Quartz设计模式

1、Builder模式
2、Factory模式
3、组件模式
4、链式模式

四、Quartz学习的核心概念

通过工厂获取三个组件
1、任务job
Job就是你想要实现的任务类(业务逻辑),每一个job必须实现org.quartz.job接口,且只需实现接口定义的execute()方法
2、触发器Trigger
Trigger为你执行任务的触发器,比如你想每天定时3点发送一份统计邮件,Trigger将会设置3点进行执行该任务。Trigger主要包含两种SimpleTrigger和CronTrigger两种。
3、调度器Scheduler
Scheduler为任务的调度器,它会将任务job及触发器Trigger整合起来,负责基于Trigger设定的时间来执行job。

五、Quartz的体系结构

在这里插入图片描述

六、Quartz的几个常用API

以下是Quartz编程API几个重要接口,也是Quartz的重要组件
1、Scheduler用于与调度程序交互的主程序接口。
Scheduler调度程序-任务执行计划表,只有安排进行执行计划的任务job(通过scheduler.schedulejob方法安排执行计划),当它预先定义的执行时间到了的时候(任务触发trigger),该任务才会执行。
2、job我们预先定义的希望在未来时间能被调度程序执行的任务类,我们可以自定义。
3、JobDetail使用jobDetail来定义定时任务的实例,jobDetail实例时通过jobBuilder类创建的
4、jobDataMap可以包含不限量的(序列化的)数据对象,在job实例执行的时候,可以使用其中的数据:jobDataMap是Java Map接口的一个实现,额外增加了一些百年与存取基本类型的数据方法。
5、Trigger触发器,Trigger对象是用来触发执行job的。当调度一个job时,我们实例一个触发器然后调整它的属性来满足job执行的条件。表明任务在什么时候会执行。定义了一个已经被安排的任务将会在什么时候执行的时间条件,比如每2秒就执行一次。
6、jobBuilder用于声明一个任务实例,也可以定义关于该任务的详情比如任务名、组名等,这个声明的实例将会作为一个实际执行的任务。
7、TriggerBuilder触发器创建其,用于创建触发器Trigger实例。
8、JobListener、TriggerListener、SchedulerListener监听器,用于对组件的监听。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值