zoukankan      html  css  js  c++  java
  • SpringBoot之Quartz基础

    前言:由于我们本项目选用的Springboot来整合Quartz,官方给我们提供了启动器所以很简单。在以前的版本我们想要使用Quartz需要引入的依赖如下:

    <dependency>  
       <groupId>org.quartz-scheduler</groupId>  
       <artifactId>quartz</artifactId>  
       <version>2.2.3</version>  
    </dependency> 
    <dependency>  
       <groupId>org.quartz-scheduler</groupId>  
       <artifactId>quartz-jobs</artifactId>  
       <version>2.2.3</version>  
    </dependency>
    

    按以上的方式来使用Quartz的话,或需要我们创建很多的配置类:Job的工厂类等。
    但是现在我们有了官方的启动器,依赖如下:

    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
    

    此时我们不需要配置很多配置类,只需要在我们的application.yaml文件中配置必要的信息就ok了。

    创建springboot项目,并加入所需依赖

    加入数据库依赖

    <!--mysql驱动依赖-->
    <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
         <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <optional>true</optional>
    </dependency>
    <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.1.16</version>
    </dependency>
    <!--mybatis-plus 快速开发-->
    <dependency>
         <groupId>com.baomidou</groupId>
         <artifactId>mybatis-plus-boot-starter</artifactId>
         <version>3.2.0</version>
    </dependency>
    

    配置基本配置

    spring:
      quartz:
        auto-startup: true
        properties:
          org:
            quartz:
              scheduler:
                instanceName: clusteredScheduler
                instanceId: AUTO
              jobStore:
                class: org.quartz.impl.jdbcjobstore.JobStoreCMT
                driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
                tablePrefix: QRTZ_
                isClustered: true
                clusterCheckinInterval: 10000
                useProperties: false
              threadPool:
                class: org.quartz.simpl.SimpleThreadPool
                threadCount: 20
                threadPriority: 5
                threadsInheritContextClassLoaderOfInitializingThread: true
        job-store-type: jdbc
        wait-for-jobs-to-complete-on-shutdown: true
          datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/quartz?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC&allowPublicKeyRetrieval=true
        username: root
        password: root
        initialSize: 20
        minIdle: 5
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 30000
        testWhileIdle: true
        filters: stat,wall,sl4j
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    

    quartz涉及表说明

    涉及表说明

    qrtz_calendars :存储quartz的calendar日历信息.
    qrtz_cron_triggers :存储cron trigger,包括cron表达式和时区信息。
    qrtz_fired_triggers :存储与已触发的trigger相关的状态信息,以及相联job的执行信息
    qrtz_job_details :存储每一个已配置的job的详细信息
    qrtz_locks :存储程序的非观锁的信息(假如使用了悲观锁)
    qrtz_paused_trigger_grps :存储已暂停的trigger组的信息
    qrtz_scheduler_state :存储少量的有关 scheduler的状态信息,和别的 scheduler 实例         
    qrtz_simple_triggers :存储简单的 trigger,包括重复次数,间隔,以及已触的次数
    qrtz_simprop_triggers
    qrtz_triggers :存储已配置的 trigger的信息
    

    表属性说明

    qrtz_calendars表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    触发器名称 CALENDAR_NAME VARCHAR2(200)
    日历 CALENDA BLO

    qrtz_cron_triggers表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    定时任务类名 TRIGGER_NAME VARCHAR2(200)
    任务分类 TRIGGER_GROUP VARCHAR2(200)
    cron表达式 CRON_EXPRESSION VARCHAR2(120)
    时间区域 TIME_ZONE_I VARCHAR2(80 )

    qrtz_fired_triggers表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    组标识 ENTRY_ID VARCHAR2(95)
    触发器名称 TRIGGER_NAME VARCHAR2(200)
    触发器组 TRIGGER_GROUP VARCHAR2(200)
    当前实例的名称 INSTANCE_NAME VARCHAR2(200)
    当前执行时间 FIRED_TIME NUMBER(13)
    计划时间 SCHED_TIME NUMBER(13)
    权重 PRIORITY NUMBER
    状态 STATE VARCHAR2(16)
    作业名称 JOB_NAME VARCHAR2(200)
    作业组 JOB_GROUP VARCHAR2(200)
    是否并行 IS_NONCONCURRENT VARCHAR2(1)
    是否要求唤醒 REQUESTS_RECOVERY VARCHAR2(1)

    qrtz_job_details表

    字段中文名 字段英文名 数据类型
    调度名称 SCHED_NAME VARCHAR2(120)
    job的名字 JOB_NAME VARCHAR2(200)
    job的所属组的名 JOB_GROUP VARCHAR2(200)
    相关介绍 DESCRIPTION VARCHAR2(250)
    job实现类的完全 JOB_CLASS_NAME VARCHAR2(250)
    是否持久化 IS_DURABLE VARCHAR2(1)
    是否并发 IS_NONCONCURRENT VARCHAR2(1)
    是否更新数据 IS_UPDATE_DATA VARCHAR2(1)
    是否接受恢复执行 REQUESTS_RECOVERY VARCHAR2(1)
    存放持久job对象 JOB_DATA BLOB

    qrtz_locks表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    锁名 LOCK_NAM VARCHAR2(40)

    qrtz_paused_trigger_grps表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    触发器组 TRIGGER_GROUP VARCHAR2(200)

    qrtz_scheduler_state表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    实例名称 INSTANCE_NAME VARCHAR2(200)
    最后的检查时间 LAST_CHECKIN_TIME NUMBER(13)
    检查间隔 CHECKIN_INTERVAL NUMBER(13)

    qrtz_simple_triggers表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    触发器名称 TRIGGER_NAME VARCHAR2(200)
    触发器组 TRIGGER_GROUP VARCHAR2(200)
    重复次数 REPEAT_COUNT NUMBER(7)
    触发次数 REPEAT_INTERVAL NUMBER(12)
    重复间隔 TIMES_TRIGGERED NUMBER(10)

    qrtz_triggers表

    字段中文名 字段英文名 数据类型
    计划名称 SCHED_NAME VARCHAR2(120)
    触发器名称 TRIGGER_NAME VARCHAR2(200)
    触发器组 TRIGGER_GROUP VARCHAR2(200)
    作业名称 JOB_NAME VARCHAR2(200)
    作业组 JOB_GROUP VARCHAR2(200)
    描述 DESCRIPTION VARCHAR2(250)
    下次执行时间 NEXT_FIRE_TIME NUMBER(13)
    前一次执行时间 PREV_FIRE_TIME NUMBER(13)
    优先权 PRIORITY NUMBER
    触发器状态 TRIGGER_STATE VARCHAR2(16)
    触发器类型 TRIGGER_TYPE VARCHAR2(8)
    开始时间 START_TIME NUMBER(13)
    结束时间 END_TIME NUMBER(13)
    日历名称 CALENDAR_NAME VARCHAR2(200)
    失败次数 MISFIRE_INSTR NUMBER
    作业数据 JOB_DATA BLOB

  • 相关阅读:
    js操作FCKeditor方法(转)
    CommandArgument绑定多个值
    fckeditor给文件(包括图片)及文件夹增加删除功能
    linq中批量删除方法
    .net里使用 escape 和 unescape(转)
    类型转换
    MEP中创建基于面的风口族
    布尔运算符和位运算符
    循环结构之FOR语句
    坏天气
  • 原文地址:https://www.cnblogs.com/triumph-wyp-com/p/13363720.html
Copyright © 2011-2022 走看看