zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java-定时任务调度技术 Quartz框架

2023-02-18 16:35:53 时间

Quartz是一个完全由Java编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。主要用来执行定时任务,如:定时发送信息、定时生成报表等

Quartz框架的主要特点:

  • 强大的调度功能,例如丰富多样的调度方法,可以满足各种常规和特殊需求
  • 灵活的应用方式,比如支持任务调度和任务的多种组合,支持数据的多种存储
  • 支持分布式集群,在被Terracotta收购之后,在原来基础上进行了进一步的改造

Quartz框架的核心元素

Trigger

  • Trigger用于定义调度任务的时间规则。

Job

  • Job用来定义任务的执行逻辑

JobDetail

  • JobDetail表示一个具体的可执行的调度程序,Job是这个可执行的调度程序所要执行的具体内容,另外JobDetail还包含了这个任务调度的方案和策略

Scheduler

  • 实际执行调度逻辑的控制器(也可以理解为调度容器),可以将多个JobDetail和Trigger注册到Scheduler中,就可以通过Scheduler进行控制执行

依赖

<!--定时任务Quartz -->
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <!--定时任务 -->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.3</version>
    </dependency>
</dependencies>