Quartz(定时任务)

编程入门 行业动态 更新时间:2024-10-24 22:19:29

<a href=https://www.elefans.com/category/jswz/34/1760745.html style=Quartz(定时任务)"/>

Quartz(定时任务)

1 Quartz是什么?
Quartz 是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目。

Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。
Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。
Quartz 允许程序开发人员根据时间的间隔来调度作业。
Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。
简而言之,Quartz 就是 Java 定时任务 领域一个非常优秀的框架。

2 Quartz核心组成
Job 表示一个工作,即要执行的具体内容。此接口中只有一个方法,如下:
public interface Job {
    void execute(JobExecutionContext var1) throws JobExecutionException;
}

JobDetail 表示一个具体可执行的调度程序(Job的实现类),Job 则是这个可执行调度程序执行的具体内容,另外 JobDetail 还包含了这个任务调度的方法和策略。
Trigger 触发器,指定运行参数。包括运行次数、运行开始时间和结束时间、运行时长等。
Scheduler 调度器,一个调度器中可以注册多个 JobDetail 和 Trigger ,当 JobDetail 和 Trigger 组合起来,就可以被 Scheduler 调度,此时定时任务被真正执行。
3 Quartz核心模块理解
3.1 用工厂模式理解 Quartz 的设计机制:
Job 车间要生产的一类产品,例如汽车。
Trigger 一条生产线。一条生产线只能生产一个 Job ,但一个 Job 可由多条生产线同时生产。
Scheduler 车间总指挥,指挥调度车间内的生产任务( Scheduler 内置线程池,线程池内的工作线程即为车间工人,每个工人承担着一组任务的真正执行)。
3.2 用流程图理解 Quartz 的核心模块关系:
下面流程图简略描述下JobDetail、Trigger 和 Scheduler 三者的关系:

一个 Trigger 只能绑定一个 JobDetail ,但是一个 JobDetail 可由多个 Trigger 进行绑定(Trigger–>>JobDetail 多对一)。
每个 JobDetail 和 Trigger 通过 group 和 name 来唯一标识。
一个 Scheduler 可以调度多组 JobDetail 和 Trigger 。

 Quartz的使用

导入依赖

写Quartz的任务表

更多推荐

Quartz(定时任务)

本文发布于:2024-03-09 01:06:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723165.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Quartz

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!