二:Quartz 中重要的家族成员

Quartz API 中几个重要的元素

名称作用
Scheduler调度任务的执行
Job你的任务需要实现的接口,执行调度任务时,Scheduler会执行此接口的execute方法
JobDetail定义Jobs的实例,里面包含了Job的所有信息:名称、所属的组,Job的类等
Tigger任务的触发器,由它来定义计划,规定Job何时被触发执行

我们可以这么理解,Tigger 规定了何时触发你自己定义在 Job 中的任务,而最后 Scheduler 来管理所有的 Jobs 和 Tigger


Scheduler

Scheduler 生命周期是从 SchedulerFactory 创建它开始,直到 Scheduler 调用 shutdown 方法时结束;

Scheduler 被创建后,可以增加、删除和列举 Job 和 Tigger,以及执行其他调度相关操作(如暂停 Tigger)但是,Scheduler 只有在调用 start() 方法后才会真正的触发 tirgger。

Job

一个 job 就是一个实现了 Job接口的类,该接口只有一个方法

 package org.quartz;

    public interface Job {

    public void execute(JobExecutionContext context)
      throws JobExecutionException;
    }

当 job 的一个 tigger 被触发后,execute() 方法会被 Scheduler 的一个工作线程调用;

JobDetail

你定义了一个实现 Job 接口的类,这个类仅仅表明该 job 需要完成什么类型的任务,除此之外,Quartz 还需要知道 Job 实例所包含的属性,这将由 JobDetail 类来完成。

Trigger

Trigger 用于触发 Job 的执行。当你准备调度一个 Job 的时候,你创建一个 Trigger 实例,然后设置相关的属性(后面有详细介绍)。Trigger 也有一个相关联的 JobDataMap,用于给 Job 传递一些参数。Quartz 中自带了各种不同类型的 Trigger,最常用的主要是 SimpleTrigger 和 CronTrigger。

Key

将 Job 和 Trigger 注册到 Scheduler 时候,可以为他们设置 key,配置其身份属性。Job 和 Trigger 的 key 可以用于将 Job 和 Trigger 放到不同的分组(group)中,然后基于分组进行操作。同一个分组下的 Job 或 Trigger 名称必须唯一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值