quartz-持久化数据库表

quartz-持久化数据库表

起男 1,592 2021-11-08

quartz-持久化数据库表

表含义

  • QRTZ_JOB_DETAILS:存储的是job的详细信息
    • DESCRIPTION:描述
    • IS_DURABLE:是否持久化
    • JOB_DATA:持久化对象
  • QRTZ_TRIGGERS:触发器信息
    • JOB_NAME:job的名
    • JOB_GROUP:组外键
    • DESCRIPTION:描述
    • START_TIME:开始执行时间
    • END_TIME:结束执行时间
    • PREV_FIRE_TIME:上次执行时间
    • NEXT_FIRE_TIME:下次执行时间
    • TRIGGER_TYPE:触发器类型,simple和cron
    • TRIGGER_STATE:执行状态,WAITING,PAUSED,ACQUIRED分别为:等待,暂停,运行中
  • QRTZ_CRON_TRIGGERS:保存cron表达式
  • QRTZ_SCHEDULER_STATE:存储集群中note实例信息,quartz会定时读取该表的信息判断集群中每个实例的当前状态
    • INSTANCE_NAME:之前配置文件中org.quartz.scheduler.instanceId配置的名字,就会写入该字段,如果设置为AUTO,quartz会根据物理机名和当前时间产生一个名字
    • LAST_CHECKIN_TIME:上次检查时间
    • CHECKIN_INTERVAL:检查间隔时间
  • QRTZ_PAUSED_TRIGGER_GRPS:暂停的任务组信息
  • QRTZ_LOCKS:悲观锁发生的记录信息
  • QRTZ_FIRED_TRIGGERS:正在运行的触发器信息
  • QRTZ_SIMPLE_TRIGGERS:简单的触发器详细信息
  • QRTZ_BLOB_TRIGGERS:触发器存为二进制大对象类型(用于Quartz用户自己触发数据库定制自己的触发器,然而JobStore不明白怎么存放实例的时候)

建表语句

        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)
        );

        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)
        );

        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)
        );

        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(200) 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)
        );

        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)
        );

        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),
            FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
                REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
        );

        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)
        );

        CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
          (
            SCHED_NAME VARCHAR(120) NOT NULL,
            TRIGGER_GROUP  VARCHAR(200) NOT NULL, 
            PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
        );

        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)
        );

        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)
        );

        CREATE TABLE QRTZ_LOCKS
          (
            SCHED_NAME VARCHAR(120) NOT NULL,
            LOCK_NAME  VARCHAR(40) NOT NULL, 
            PRIMARY KEY (SCHED_NAME,LOCK_NAME)
        );


        commit;