Browse Source
Detect HSQL in LocalDataSourceJobStore and force locks to be taken locally (with a SimpleSemaphore) git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2206 50f2f4bb-b051-0410-bef5-90022cba6387pull/1/head
4 changed files with 225 additions and 0 deletions
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<beans xmlns="http://www.springframework.org/schema/beans" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc" |
||||
xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd |
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> |
||||
|
||||
<bean id="scheduler" |
||||
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
||||
<property name="triggers" ref="trigger" /> |
||||
<property name="dataSource" ref="dataSource"/> |
||||
</bean> |
||||
|
||||
<bean id="trigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> |
||||
<property name="repeatInterval" value="1000" /> |
||||
<property name="repeatCount" value="1" /> |
||||
<property name="jobDetail"> |
||||
<bean class="org.springframework.scheduling.quartz.JobDetailBean"> |
||||
<property name="jobDataAsMap"> |
||||
<map> |
||||
<entry key="param" value="10" /> |
||||
</map> |
||||
</property> |
||||
<property name="jobClass" |
||||
value="org.springframework.scheduling.quartz.QuartzSupportTests$DummyJob" /> |
||||
</bean> |
||||
</property> |
||||
</bean> |
||||
|
||||
<jdbc:embedded-database id="dataSource" type="HSQL"> |
||||
<jdbc:script location="org/springframework/scheduling/quartz/quartz-hsql.sql" /> |
||||
</jdbc:embedded-database> |
||||
|
||||
</beans> |
||||
@ -0,0 +1,152 @@
@@ -0,0 +1,152 @@
|
||||
DROP TABLE qrtz_locks IF EXISTS; |
||||
DROP TABLE qrtz_scheduler_state IF EXISTS; |
||||
DROP TABLE qrtz_fired_triggers IF EXISTS; |
||||
DROP TABLE qrtz_paused_trigger_grps IF EXISTS; |
||||
DROP TABLE qrtz_calendars IF EXISTS; |
||||
DROP TABLE qrtz_trigger_listeners IF EXISTS; |
||||
DROP TABLE qrtz_blob_triggers IF EXISTS; |
||||
DROP TABLE qrtz_cron_triggers IF EXISTS; |
||||
DROP TABLE qrtz_simple_triggers IF EXISTS; |
||||
DROP TABLE qrtz_triggers IF EXISTS; |
||||
DROP TABLE qrtz_job_listeners IF EXISTS; |
||||
DROP TABLE qrtz_job_details IF EXISTS; |
||||
|
||||
CREATE TABLE qrtz_job_details |
||||
( |
||||
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_VOLATILE VARCHAR(1) NOT NULL, |
||||
IS_STATEFUL VARCHAR(1) NOT NULL, |
||||
REQUESTS_RECOVERY VARCHAR(1) NOT NULL, |
||||
JOB_DATA BINARY NULL, |
||||
PRIMARY KEY (JOB_NAME,JOB_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_job_listeners |
||||
( |
||||
JOB_NAME VARCHAR(200) NOT NULL, |
||||
JOB_GROUP VARCHAR(200) NOT NULL, |
||||
JOB_LISTENER VARCHAR(200) NOT NULL, |
||||
PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER), |
||||
FOREIGN KEY (JOB_NAME,JOB_GROUP) |
||||
REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_triggers |
||||
( |
||||
TRIGGER_NAME VARCHAR(200) NOT NULL, |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
JOB_NAME VARCHAR(200) NOT NULL, |
||||
JOB_GROUP VARCHAR(200) NOT NULL, |
||||
IS_VOLATILE VARCHAR(1) NOT NULL, |
||||
DESCRIPTION VARCHAR(250) NULL, |
||||
NEXT_FIRE_TIME NUMERIC(13) NULL, |
||||
PREV_FIRE_TIME NUMERIC(13) NULL, |
||||
PRIORITY INTEGER NULL, |
||||
TRIGGER_STATE VARCHAR(16) NOT NULL, |
||||
TRIGGER_TYPE VARCHAR(8) NOT NULL, |
||||
START_TIME NUMERIC(13) NOT NULL, |
||||
END_TIME NUMERIC(13) NULL, |
||||
CALENDAR_NAME VARCHAR(200) NULL, |
||||
MISFIRE_INSTR NUMERIC(2) NULL, |
||||
JOB_DATA BINARY NULL, |
||||
PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), |
||||
FOREIGN KEY (JOB_NAME,JOB_GROUP) |
||||
REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_simple_triggers |
||||
( |
||||
TRIGGER_NAME VARCHAR(200) NOT NULL, |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
REPEAT_COUNT NUMERIC(7) NOT NULL, |
||||
REPEAT_INTERVAL NUMERIC(12) NOT NULL, |
||||
TIMES_TRIGGERED NUMERIC(7) NOT NULL, |
||||
PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), |
||||
FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) |
||||
REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_cron_triggers |
||||
( |
||||
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 (TRIGGER_NAME,TRIGGER_GROUP), |
||||
FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) |
||||
REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_blob_triggers |
||||
( |
||||
TRIGGER_NAME VARCHAR(200) NOT NULL, |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
BLOB_DATA BINARY NULL, |
||||
PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), |
||||
FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) |
||||
REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_trigger_listeners |
||||
( |
||||
TRIGGER_NAME VARCHAR(200) NOT NULL, |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
TRIGGER_LISTENER VARCHAR(200) NOT NULL, |
||||
PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER), |
||||
FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) |
||||
REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_calendars |
||||
( |
||||
CALENDAR_NAME VARCHAR(200) NOT NULL, |
||||
CALENDAR BINARY NOT NULL, |
||||
PRIMARY KEY (CALENDAR_NAME) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_paused_trigger_grps |
||||
( |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
PRIMARY KEY (TRIGGER_GROUP) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_fired_triggers |
||||
( |
||||
ENTRY_ID VARCHAR(95) NOT NULL, |
||||
TRIGGER_NAME VARCHAR(200) NOT NULL, |
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL, |
||||
IS_VOLATILE VARCHAR(1) NOT NULL, |
||||
INSTANCE_NAME VARCHAR(200) NOT NULL, |
||||
FIRED_TIME NUMERIC(13) NOT NULL, |
||||
PRIORITY INTEGER NOT NULL, |
||||
STATE VARCHAR(16) NOT NULL, |
||||
JOB_NAME VARCHAR(200) NULL, |
||||
JOB_GROUP VARCHAR(200) NULL, |
||||
IS_STATEFUL VARCHAR(1) NULL, |
||||
REQUESTS_RECOVERY VARCHAR(1) NULL, |
||||
PRIMARY KEY (ENTRY_ID) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_scheduler_state |
||||
( |
||||
INSTANCE_NAME VARCHAR(200) NOT NULL, |
||||
LAST_CHECKIN_TIME NUMERIC(13) NOT NULL, |
||||
CHECKIN_INTERVAL NUMERIC(13) NOT NULL, |
||||
PRIMARY KEY (INSTANCE_NAME) |
||||
); |
||||
|
||||
CREATE TABLE qrtz_locks |
||||
( |
||||
LOCK_NAME VARCHAR(40) NOT NULL, |
||||
PRIMARY KEY (LOCK_NAME) |
||||
); |
||||
|
||||
INSERT INTO qrtz_locks values('TRIGGER_ACCESS'); |
||||
INSERT INTO qrtz_locks values('JOB_ACCESS'); |
||||
INSERT INTO qrtz_locks values('CALENDAR_ACCESS'); |
||||
INSERT INTO qrtz_locks values('STATE_ACCESS'); |
||||
INSERT INTO qrtz_locks values('MISFIRE_ACCESS'); |
||||
Loading…
Reference in new issue