好文档 - 专业文书写作范文服务资料分享网站

HAP框架-定时调度器使用手册

天下 分享 时间: 加入收藏 我要投稿 点赞

1

2016-07-03

,

定式调度器开发入门

Author: Huojianping Creation Date: 2016-07-03 Last Updated:

2020-08-25

Document Ref: Hap框架定时调度器入门 Version: 1.0

Hap框架定时调度器入门

File Ref: Hap框架定时调度器入门.docx (v. 1 )

CompanyConfidential - For internal use only

2

2016-07-03

文档控制

更改记录

日期 2016-07-03 作者 版本 1.0 更改参考 无前版本

Hap框架定时调度器入门

File Ref: Hap框架定时调度器入门.docx (v. 1 )

CompanyConfidential - For internal use only

3

2016-07-03

内容目录

文档控制 .......................................................................................................................................... 2

更改记录 ............................................................. 2 内容目录 .......................................................................................................................................... 3 一、 基本概念 ............................................................................................................................. 4

1. Quartz的基本认知 ................................................ 4 2. Quartz Job接口概述 .............................................. 4 3. Quartz中的Schedule,Trigger,JobDetail .......................... 5 二、 HelloWorld实例 ............................................................................................................... 11 三、 总结 ................................................................................................................................... 16

1. 任务状态 ........................................................ 16 2. 触发器 .......................................................... 16 3. Quartz表 ....................................................... 16 四、 常见问题 ........................................................................................................................... 18

1. 任务触发 ........................................................ 18 2.存在同一个Job被多个Trigger触发的情况 ............................ 18 问题统计 ........................................................................................................................................ 19

未结问题 ............................................................ 19

已结问题 ........................................................ 19

Hap框架定时调度器入门

File Ref: Hap框架定时调度器入门.docx (v. 1 )

CompanyConfidential - For internal use only

4

2016-07-03

一、 基本概念

1. Quartz的基本认知

Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。Quartz允许开发人员根据时间间隔来调度作业。它实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。

2. Quartz Job接口概述

2.1

org.quartz.Job接口

Quartz虽然整合了很多额外的功能,但就其本质的作业调度功能来看,使用起来相当的便捷,只需简单的创建一个实现org.quartz.Job接口的Java类。Job接口包含的唯一方法:

public void execute(JobExecutionContext context) throws JobExecutionException;

在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,Quartz将密切注意剩余时间。当调度程序确定该是通知你的作业的时候,Quartz框架将调用你Job实现类(作业类)上的execute()方法并允许做它该做的事情。无需报告任何东西给调度器或调用任何特定的东西。仅仅执行任务和结束任务即可。如果配置你的作业在随后再次被调用,Quartz框架将在恰当的时间再次调用它。

2.2

com.hand.hap.job.AbstractJob抽象类

但是execute()方法有一个缺点,就是它在运行时是无法抛出异常的,一旦进行了异常的抛出,当前Job就会自动被停止,那么为了获取更为详细的运行时的相关信息,Hap框架对Job接口进行了一次封装,封装了一个AbstractJob的抽象类来实现Job接口:

public abstract class AbstractJob implements Job

在该类中,我们自定义了一个safeExecute(JobExecutionContext context)Throws Exception方法,并让该方法默认在execute()方法中被调用,这样我们就能达到在Job出错时抛出异常的目的了,综上所述,我们想在Hap框架中定义一个我们自己的Job,我们只需要新建一个继承了AbstractJob的类就可以了,在safeExecute()方法中加上我们的一些逻辑,这个Job就会自动的根据自定义的规则(Trigger)被挂起。(Ps:该方法里的JobExecutionContext context参数会在后面做出解释。)

Hap框架定时调度器入门

File Ref: Hap框架定时调度器入门.docx (v. 1 )

CompanyConfidential - For internal use only

5

2016-07-03

3. Quartz中的Schedule,Trigger,JobDetail

这里着重给代价介绍一下Quartz中几个重要的对象,JobDetail(具体可执行的调度程序),Trigger(调度参数的配置),Schedule(调度容器)。这三个对象,是实现Quartz的任务调度必不可少的。

3.1

JobDetail

JobDetail代表了一个具体的、可被执行的任务,即实现了Job接口。下面,我将详细给大家介绍一下JobDetail具体代表什么,以及在Hap框架中如何创建一个JobDetail。

3.1.1 JobDetail

JobDetai就是一个具体的可执行任务,我们在这要弄清楚它和Job的区别,Job只是为我们提供了一个会自动去调用的execute()方法,我们在这个方法里填充我们的逻辑。而JobDetail则是一个完整的任务对象,这个对象里除了告诉我们该去调用哪一个Job类去实现什么方法,还包含了调用这个Job的相关信息,例如Job的分组,Job的名字等等……

这张图就代表创建一个简单的JobDetail对

象。

Hap框架定时调度器入门

File Ref: Hap框架定时调度器入门.docx (v. 1 )

CompanyConfidential - For internal use only

HAP框架-定时调度器使用手册

12016-07-03,定式调度器开发入门Author:HuojianpingCreationDate:2016-07-03LastUpdated:2020-08-25DocumentRef:Hap框架定时调度器入门Version:1.
推荐度:
点击下载文档文档为doc格式
0om603sbcl9jajr88ky455t2h95x5500wds
领取福利

微信扫码领取福利

微信扫码分享