前言:因爲咱們本項目選用的Springboot來整合Quartz,官方給咱們提供了啓動器因此很簡單。在之前的版本咱們想要使用Quartz須要引入的依賴以下:java
<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
的工廠類等。
可是如今咱們有了官方的啓動器,依賴以下:mysql
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
此時咱們不須要配置不少配置類,只須要在咱們的
application.yaml
文件中配置必要的信息就ok了。spring
<!--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
涉及表說明sql
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表springboot
字段中文名 | 字段英文名 | 數據類型 |
---|---|---|
計劃名稱 | SCHED_NAME | VARCHAR2(120) |
觸發器名稱 | CALENDAR_NAME | VARCHAR2(200) |
日曆 | CALENDA | BLO |
qrtz_cron_triggers表mybatis
字段中文名 | 字段英文名 | 數據類型 |
---|---|---|
計劃名稱 | 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表app
字段中文名 | 字段英文名 | 數據類型 |
---|---|---|
調度名稱 | 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表spring-boot
字段中文名 | 字段英文名 | 數據類型 |
---|---|---|
計劃名稱 | 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 |