Quartz的一些基本知识

初识:一旦一个scheduler被实例化了,它就能够被start,进入运行状态,也能够被shutdown。这也是一个scheduler的生命周期(从被实例化到被shutdown)。这里须要注意,一旦scheduler被shutdown,就不能再从新start了,想要从新start,必须从新实例化spa

一个scheduler被实例化以后,就能够添加、移除Job、Trigger甚至暂停一个Trigger等。可是,只有在start以后,Trigger才能够生效(come into play)。对象

主要接口接口

Job接口:生命周期

public interface Job {
    void execute(JobExecutionContext context)
        throws JobExecutionException;

}

咱们写本身的job时须要实现的接口。io

JobExecutionVontext参数携带的信息:scheduler的引用、trigger的引用、JobDetail对象以及其余一些信息。变量

JobDetail接口:引用

在scheduler添加job时建立,它包含了Job的一些信息,以及一个JobDataMap,JobDataMap存储了job的成员变量。im

Trigger接口:时间

触发Job时须要,经过trigger能够使得job执行,Quartz自带了几种不一样的触发方式,可是经常使用的是SimpleTrigger以及CronTrigger。co

SimpleTrigger适用于在给定的时间只执行一次或者重复执行N次或者延迟T执行。

CronTrigger更适用于与日历相关的,好比每周一的上午十点执行。

在Quartz中,咱们称JobDetail为 “JobDetail实例” 或 “Job的定义”,称Job为 “Job实例” 或 “Job定义的实例”

相关文章
相关标签/搜索