Quartz 2.x 建库脚本和表结构说明分析

哈哈 阅读:263 2021-03-31 16:59:45 评论:0

一、quartz 表说明


 

二、quartz 的触发时间的配置:

cron 方式:采用cronExpression表达式配置时间。
simple 方式:和JavaTimer差不多,可以指定一个开始时间和结束时间外加一个循环时间。
calendars 方式:可以和cron配合使用,用cron表达式指定一个触发时间规律,用calendar指定一个范围。
注意:
cron方式需要用到的4张数据表: qrtz_triggers,qrtz_cron_triggers,qrtz_fired_triggers,qrtz_job_details。

三、MySQL 建库脚本

DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; 
DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; 
DROP TABLE IF EXISTS QRTZ_LOCKS; 
DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_TRIGGERS; 
DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; 
DROP TABLE IF EXISTS QRTZ_CALENDARS; 
  
CREATE TABLE QRTZ_JOB_DETAILS( 
SCHED_NAME VARCHAR(120) NOT NULL, 
JOB_NAME VARCHAR(200) NOT NULL, 
JOB_GROUP VARCHAR(200) NOT NULL, 
DESCRIPTION VARCHAR(250) NULL, 
JOB_CLASS_NAME VARCHAR(250) NOT NULL, 
IS_DURABLE VARCHAR(1) NOT NULL, 
IS_NONCONCURRENT VARCHAR(1) NOT NULL, 
IS_UPDATE_DATA VARCHAR(1) NOT NULL, 
REQUESTS_RECOVERY VARCHAR(1) NOT NULL, 
JOB_DATA BLOB NULL, 
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_TRIGGERS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
TRIGGER_NAME VARCHAR(200) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
JOB_NAME VARCHAR(200) NOT NULL, 
JOB_GROUP VARCHAR(200) NOT NULL, 
DESCRIPTION VARCHAR(250) NULL, 
NEXT_FIRE_TIME BIGINT(13) NULL, 
PREV_FIRE_TIME BIGINT(13) NULL, 
PRIORITY INTEGER NULL, 
TRIGGER_STATE VARCHAR(16) NOT NULL, 
TRIGGER_TYPE VARCHAR(8) NOT NULL, 
START_TIME BIGINT(13) NOT NULL, 
END_TIME BIGINT(13) NULL, 
CALENDAR_NAME VARCHAR(200) NULL, 
MISFIRE_INSTR SMALLINT(2) NULL, 
JOB_DATA BLOB NULL, 
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), 
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) 
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
TRIGGER_NAME VARCHAR(200) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
REPEAT_COUNT BIGINT(7) NOT NULL, 
REPEAT_INTERVAL BIGINT(12) NOT NULL, 
TIMES_TRIGGERED BIGINT(10) NOT NULL, 
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), 
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_CRON_TRIGGERS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
TRIGGER_NAME VARCHAR(200) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
CRON_EXPRESSION VARCHAR(120) NOT NULL, 
TIME_ZONE_ID VARCHAR(80), 
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), 
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_SIMPROP_TRIGGERS 
  (           
    SCHED_NAME VARCHAR(120) NOT NULL, 
    TRIGGER_NAME VARCHAR(200) NOT NULL, 
    TRIGGER_GROUP VARCHAR(200) NOT NULL, 
    STR_PROP_1 VARCHAR(512) NULL, 
    STR_PROP_2 VARCHAR(512) NULL, 
    STR_PROP_3 VARCHAR(512) NULL, 
    INT_PROP_1 INT NULL, 
    INT_PROP_2 INT NULL, 
    LONG_PROP_1 BIGINT NULL, 
    LONG_PROP_2 BIGINT NULL, 
    DEC_PROP_1 NUMERIC(13,4) NULL, 
    DEC_PROP_2 NUMERIC(13,4) NULL, 
    BOOL_PROP_1 VARCHAR(1) NULL, 
    BOOL_PROP_2 VARCHAR(1) NULL, 
    PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), 
    FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)  
    REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_BLOB_TRIGGERS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
TRIGGER_NAME VARCHAR(200) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
BLOB_DATA BLOB NULL, 
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), 
INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP), 
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) 
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_CALENDARS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
CALENDAR_NAME VARCHAR(200) NOT NULL, 
CALENDAR BLOB NOT NULL, 
PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_FIRED_TRIGGERS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
ENTRY_ID VARCHAR(95) NOT NULL, 
TRIGGER_NAME VARCHAR(200) NOT NULL, 
TRIGGER_GROUP VARCHAR(200) NOT NULL, 
INSTANCE_NAME VARCHAR(200) NOT NULL, 
FIRED_TIME BIGINT(13) NOT NULL, 
SCHED_TIME BIGINT(13) NOT NULL, 
PRIORITY INTEGER NOT NULL, 
STATE VARCHAR(16) NOT NULL, 
JOB_NAME VARCHAR(200) NULL, 
JOB_GROUP VARCHAR(200) NULL, 
IS_NONCONCURRENT VARCHAR(1) NULL, 
REQUESTS_RECOVERY VARCHAR(1) NULL, 
PRIMARY KEY (SCHED_NAME,ENTRY_ID)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_SCHEDULER_STATE ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
INSTANCE_NAME VARCHAR(200) NOT NULL, 
LAST_CHECKIN_TIME BIGINT(13) NOT NULL, 
CHECKIN_INTERVAL BIGINT(13) NOT NULL, 
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)) 
ENGINE=InnoDB; 
  
CREATE TABLE QRTZ_LOCKS ( 
SCHED_NAME VARCHAR(120) NOT NULL, 
LOCK_NAME VARCHAR(40) NOT NULL, 
PRIMARY KEY (SCHED_NAME,LOCK_NAME)) 
ENGINE=InnoDB; 
  
CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); 
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); 
  
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); 
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); 
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); 
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); 
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); 
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); 
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); 
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); 
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); 
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); 
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); 
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); 
  
CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); 
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); 
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); 
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); 
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); 
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); 
  
commit;  

 Quartz 学习教程地址:https://www.w3cschool.cn/quartz_doc/

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号