SpringBoot整合Quartz依赖

1、Quartz的简介

**Quartz**是一个完全由java编写的开源作业调度框架,由**OpenSymphony**组织开源出来的。所谓作业调度其实就是按照程序的设定,某一时刻或者时间间隔去执行某个代码。

2、在pom文件引入如下依赖

<!--  SpringBoot整合Quartz依赖  -->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-quartz</artifactId>
       </dependency>

3、基础配置,在 application.yml文件中进行Quartz 的配置(相关属性),如下所示:

在这里插入图片描述

详细介绍:

  job-store-type:使用数据库来存储quartz的任务

  initialize-schema: 项目启动的时候是否初始化表数据

  scheduler-name: 定时器名称

  startup-delay:延时启动定时任务(避免系统未完全启动却开始执行定时任务的情况)

  auto-startup:是否自动启动定时任务

  wait-for-jobs-to-complete-on-shutdown:是否等待任务执行完毕后,容器才会关闭

  overwrite-existiong-jobs:配置的job是否覆盖已存在的JOB信息

4、配置完毕,系统启动完后,会在数据库生成如下表:

4.1、qrtz_blob_triggers:以Blob类型存储的触发器
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_name:触发器名称
  • trigger_group:触发器组
  • blob_data:Blob数据

4.2、qrtz_calendars:存放日历信息,quartz可配置一个日历来指定一个时间范围
在这里插入图片描述

  • sched_name:调度器名称
  • calendar_name:日历名称
  • calendar:日历值

4.3、qrtz_cron_triggers:存放cron类型的触发器
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_name:触发器名称(qrtz_blob_triggers表trigger_name的外键)
  • trigger_group:触发器组(qrtz_blob_triggers表trigger_group的外键)
  • cron_expression:cron表达式
  • time_zone_id:时区id

4.4、qrtz_fired_triggers:存放已触发的触发器
在这里插入图片描述

  • sched_name:调度器名称
  • entry_id:入口id
  • trigger_name:触发器名称
  • trigger_group:触发器组
  • instance_name:实例名称
  • fired_time:触发时间
  • sched_time:调度时间
  • priority:优先级
  • state:状态 job_name:任务名称
  • job_group:任务组
  • is_nonconcurrent:非同时性的
  • requests_recovery:请求回收

4.5、qrtz_job_details:存放一个jobDetail信息
在这里插入图片描述

  • sched_name:调度器名称
  • job_name:任务名称
  • job_group:任务组
  • description:描述
  • job_class_name:job实现类的完全包名,quartz就是根据根据这个路径到classpath找到该job类
  • is_durable:是否持久化(0、否,1、是)
  • is_nonconcurrent:非同时性的
  • is_update_data:是否更新数据
    
  • requests_recovery:请求回收
  •   job_data:blob字段,存放持久化job对象
    

4.6、qrtz_locks:存储程序的悲观锁的信息(假如使用了悲观锁)
在这里插入图片描述

  • sched_name:调度器名称
  • lock_name:锁名称

4.7、qrtz_paused_trigger_graps:存放暂停掉的触发器
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_group:触发器组

4.8、qrtz_scheduler_state:调度器状态 (存储所有节点的scheduler,会定期检查scheduler是否失效)
在这里插入图片描述

  • sched_name:调度器名称
  • instance_name:实例名称
  • last_checkin_name:上次登记时间
  • checkin_interval:登记间隔时间

4.9、qrtz_simple_triggers:简单触发器的信息
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_name:触发器名称
  • trigger_group:触发器组
  • repeat_count:重复次数
  • repeat_interval:重复间隔
  • times_triggered:触发次数

4.10、qrtz_simprop_triggers:存储 CalendarIntervalTrigger 和 DailyTimeIntervalTrigger两种类型的触发器
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_name:触发器名称 (qrtz_triggers表trigger_name的外键)
  • trigger_group:触发器组(qrtz_triggers表trigger_group的外键)
  • str_prop_1:String类型的trigger的第一个参数
  • str_prop_2:String类型的trigger的第二个参数
  • str_prop_3:String类型的trigger的第三个参数
  • int_prop_1:int类型的trigger的第一个参数
  • int_prop_2:int类型的trigger的第二个参数
  • long_prop_1:long类型的trigger的第一个参数
  • long_prop_2:long类型的trigger的第二个参数
  • dec_prop_1:decimal类型的trigger的第一个参数
  • dec_prop_2:decimal类型的trigger的第二个参数
  • bool_prop_1:boolean类型的trigger的第一个参数
  • bool_prop_2:boolean类型的trigger的第二个参数

4.11、qrtz_triggers:触发器的基本信息
在这里插入图片描述

  • sched_name:调度器名称
  • trigger_name:触发器名称
  • trigger_group:触发器组
  • job_name:任务名称(qrtz_job_details表job_name的外键)
  • job_group:任务组(qrtz_job_details表job_group的外键)
  • description:描述
  • next_fire_time:下次触发时间
  • prev_fire_time:上次触发时间
  • priority:优先级
  • trigger_state:当前trigger状态,设置为ACQUIRED,如果设置为WATING,则job不会触发
  • trigger_type:trigger类型,CRON表达式
  • start_time:开始时间
  • end_time:结束时间
  • calendar_name:日历名称
  • misfire_instr:措施或者是补偿执行的策略
  • job_data:blob字段,存放持久化job对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值