【功能优化】信创数据库:增加 Quartz 适配
This commit is contained in:
parent
71b58e4d2c
commit
b13dc10062
|
@ -0,0 +1,179 @@
|
||||||
|
--
|
||||||
|
-- A hint submitted by a user: Oracle DB MUST be created as "shared" and the
|
||||||
|
-- job_queue_processes parameter must be greater than 2
|
||||||
|
-- However, these settings are pretty much standard after any
|
||||||
|
-- Oracle install, so most users need not worry about this.
|
||||||
|
--
|
||||||
|
-- Many other users (including the primary author of Quartz) have had success
|
||||||
|
-- running in dedicated mode, so only consider the above as a hint ;-)
|
||||||
|
--
|
||||||
|
|
||||||
|
drop table if exists qrtz_calendars;
|
||||||
|
drop table if exists qrtz_fired_triggers;
|
||||||
|
drop table if exists qrtz_blob_triggers;
|
||||||
|
drop table if exists qrtz_cron_triggers;
|
||||||
|
drop table if exists qrtz_simple_triggers;
|
||||||
|
drop table if exists qrtz_simprop_triggers;
|
||||||
|
drop table if exists qrtz_triggers;
|
||||||
|
drop table if exists qrtz_job_details;
|
||||||
|
drop table if exists qrtz_paused_trigger_grps;
|
||||||
|
drop table if exists qrtz_locks;
|
||||||
|
drop table if exists qrtz_scheduler_state;
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_job_details
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
JOB_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
JOB_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
DESCRIPTION VARCHAR2(250) NULL,
|
||||||
|
JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
|
||||||
|
IS_DURABLE VARCHAR2(1) NOT NULL,
|
||||||
|
IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
|
||||||
|
IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
|
||||||
|
REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
|
||||||
|
JOB_DATA BLOB NULL,
|
||||||
|
CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_triggers
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
JOB_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
JOB_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
DESCRIPTION VARCHAR2(250) NULL,
|
||||||
|
NEXT_FIRE_TIME NUMBER(19) NULL,
|
||||||
|
PREV_FIRE_TIME NUMBER(19) NULL,
|
||||||
|
PRIORITY NUMBER(13) NULL,
|
||||||
|
TRIGGER_STATE VARCHAR2(16) NOT NULL,
|
||||||
|
TRIGGER_TYPE VARCHAR2(8) NOT NULL,
|
||||||
|
START_TIME NUMBER(19) NOT NULL,
|
||||||
|
END_TIME NUMBER(19) NULL,
|
||||||
|
CALENDAR_NAME VARCHAR2(200) NULL,
|
||||||
|
MISFIRE_INSTR NUMBER(2) NULL,
|
||||||
|
JOB_DATA BLOB NULL,
|
||||||
|
CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||||
|
CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK 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 VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
REPEAT_COUNT NUMBER(7) NOT NULL,
|
||||||
|
REPEAT_INTERVAL NUMBER(12) NOT NULL,
|
||||||
|
TIMES_TRIGGERED NUMBER(10) NOT NULL,
|
||||||
|
CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||||
|
CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_cron_triggers
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
CRON_EXPRESSION VARCHAR2(120) NOT NULL,
|
||||||
|
TIME_ZONE_ID VARCHAR2(80),
|
||||||
|
CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||||
|
CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_simprop_triggers
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
STR_PROP_1 VARCHAR2(512) NULL,
|
||||||
|
STR_PROP_2 VARCHAR2(512) NULL,
|
||||||
|
STR_PROP_3 VARCHAR2(512) NULL,
|
||||||
|
INT_PROP_1 NUMBER(10) NULL,
|
||||||
|
INT_PROP_2 NUMBER(10) NULL,
|
||||||
|
LONG_PROP_1 NUMBER(19) NULL,
|
||||||
|
LONG_PROP_2 NUMBER(19) NULL,
|
||||||
|
DEC_PROP_1 NUMERIC(13,4) NULL,
|
||||||
|
DEC_PROP_2 NUMERIC(13,4) NULL,
|
||||||
|
BOOL_PROP_1 VARCHAR2(1) NULL,
|
||||||
|
BOOL_PROP_2 VARCHAR2(1) NULL,
|
||||||
|
TIME_ZONE_ID VARCHAR2(80) NULL,
|
||||||
|
CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||||
|
CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_blob_triggers
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
BLOB_DATA BLOB NULL,
|
||||||
|
CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||||
|
CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_calendars
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
CALENDAR_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
CALENDAR BLOB NOT NULL,
|
||||||
|
CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_paused_trigger_grps
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_fired_triggers
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
ENTRY_ID VARCHAR2(140) NOT NULL,
|
||||||
|
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||||
|
INSTANCE_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
FIRED_TIME NUMBER(19) NOT NULL,
|
||||||
|
SCHED_TIME NUMBER(19) NOT NULL,
|
||||||
|
PRIORITY NUMBER(13) NOT NULL,
|
||||||
|
STATE VARCHAR2(16) NOT NULL,
|
||||||
|
JOB_NAME VARCHAR2(200) NULL,
|
||||||
|
JOB_GROUP VARCHAR2(200) NULL,
|
||||||
|
IS_NONCONCURRENT VARCHAR2(1) NULL,
|
||||||
|
REQUESTS_RECOVERY VARCHAR2(1) NULL,
|
||||||
|
CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_scheduler_state
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
INSTANCE_NAME VARCHAR2(200) NOT NULL,
|
||||||
|
LAST_CHECKIN_TIME NUMBER(19) NOT NULL,
|
||||||
|
CHECKIN_INTERVAL NUMBER(13) NOT NULL,
|
||||||
|
CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
|
||||||
|
);
|
||||||
|
CREATE TABLE qrtz_locks
|
||||||
|
(
|
||||||
|
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||||
|
LOCK_NAME VARCHAR2(40) NOT NULL,
|
||||||
|
CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
|
||||||
|
);
|
||||||
|
|
||||||
|
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);
|
|
@ -55,7 +55,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
|
||||||
setIdType(environment, IdType.INPUT);
|
setIdType(environment, IdType.INPUT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 情况二,自增 ID,适合 MySQL 等直接自增的数据库
|
// 情况二,自增 ID,适合 MySQL、DM 达梦等直接自增的数据库
|
||||||
setIdType(environment, IdType.AUTO);
|
setIdType(environment, IdType.AUTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +86,9 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
|
||||||
case SQL_SERVER2005:
|
case SQL_SERVER2005:
|
||||||
driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate";
|
driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate";
|
||||||
break;
|
break;
|
||||||
|
case DM:
|
||||||
|
driverClass = "org.quartz.impl.jdbcjobstore.StdJDBCDelegate";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// 设置 driverClass 变量
|
// 设置 driverClass 变量
|
||||||
if (StrUtil.isNotEmpty(driverClass)) {
|
if (StrUtil.isNotEmpty(driverClass)) {
|
||||||
|
|
Loading…
Reference in New Issue