├── .gitignore
├── LICENSE
├── README.md
├── Screenshots
├── 2016-08-04_161310.png
└── 2016-08-04_161337.png
├── pom.xml
└── src
└── main
├── java
└── net
│ └── aimeizi
│ └── quartz
│ ├── controller
│ └── ScheduleJobController.java
│ ├── event
│ └── ScheduleJobInit.java
│ ├── exceptions
│ └── ScheduleException.java
│ ├── model
│ └── ScheduleJob.java
│ ├── quartz
│ ├── AsyncJobFactory.java
│ └── SyncJobFactory.java
│ ├── service
│ ├── ScheduleJobService.java
│ └── impl
│ │ └── ScheduleJobServiceImpl.java
│ ├── utils
│ └── ScheduleUtils.java
│ └── vo
│ └── ScheduleJobVo.java
├── resources
├── applicationContext.xml
├── create-schema.sql
├── jdbc.properties
├── log4j.xml
├── quartz.properties
├── scripts
│ ├── tables-index.sql
│ ├── tables_cloudscape.sql
│ ├── tables_cubrid.sql
│ ├── tables_db2.sql
│ ├── tables_db2_v72.sql
│ ├── tables_db2_v8.sql
│ ├── tables_db2_v95.sql
│ ├── tables_derby.sql
│ ├── tables_derby_previous.sql
│ ├── tables_firebird.sql
│ ├── tables_h2.sql
│ ├── tables_hsqldb.sql
│ ├── tables_hsqldb_old.sql
│ ├── tables_informix.sql
│ ├── tables_mysql.sql
│ ├── tables_mysql_innodb.sql
│ ├── tables_oracle.sql
│ ├── tables_pointbase.sql
│ ├── tables_postgres.sql
│ ├── tables_sapdb.sql
│ ├── tables_solid.sql
│ ├── tables_sqlServer.sql
│ └── tables_sybase.sql
├── spring-mvc.xml
└── velocity.properties
└── webapp
└── WEB-INF
├── foot.vm
├── input-schedule-job.vm
├── list-schedule-job.vm
├── top.vm
└── web.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /*.iml
3 | /target
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 aimeizi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # spring-quartz-cluster-sample
2 |
3 | Spring整合Quartz基于数据库的分布式定时任务,可动态添加、删除、修改定时任务。
4 |
5 | **不建议在生产环境使用,生产环境强烈建议使用[xxl-job](https://github.com/xuxueli/xxl-job)**
6 |
7 | 操作步骤:
8 |
9 | 1、创建quartz数据库
10 |
11 | 2、执行src/main/resources/scripts下的建表语句
12 |
13 | 3、执行src/main/resources/create-schema.sql语句
14 |
15 | 4、修改数据库连接信息
16 |
17 | # Screenshots
18 |
19 | 
20 | 
21 |
--------------------------------------------------------------------------------
/Screenshots/2016-08-04_161310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/v5tech/spring-quartz-cluster-sample/7e7b801f3c7a92594073b3875828a78916e0dc36/Screenshots/2016-08-04_161310.png
--------------------------------------------------------------------------------
/Screenshots/2016-08-04_161337.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/v5tech/spring-quartz-cluster-sample/7e7b801f3c7a92594073b3875828a78916e0dc36/Screenshots/2016-08-04_161337.png
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | net.aimeizi
8 | spring-quartz-cluster-sample
9 | 1.0
10 | war
11 | http://maven.apache.org
12 |
13 |
14 | UTF-8
15 | 1.4
16 | 5.1.25
17 | 3.1.3.RELEASE
18 | 2.2.1
19 | 1.7.2
20 | 1.6.6
21 |
22 |
23 |
24 |
25 |
26 | com.dexcoder
27 | dexcoder-dal-spring
28 | 2.3.1
29 |
30 |
31 |
32 | mysql
33 | mysql-connector-java
34 | ${mysql.version}
35 |
36 |
37 |
38 | commons-dbcp
39 | commons-dbcp
40 | ${commons.dbcp.version}
41 |
42 |
43 |
44 | org.springframework
45 | spring-jdbc
46 | ${spring.version}
47 |
48 |
49 |
50 | org.springframework
51 | spring-aspects
52 | ${spring.version}
53 |
54 |
55 |
56 | org.springframework
57 | spring-webmvc
58 | ${spring.version}
59 |
60 |
61 |
62 | org.aspectj
63 | aspectjweaver
64 | ${aspectj.version}
65 |
66 |
67 |
68 | org.apache.velocity
69 | velocity
70 | 1.6.2
71 |
72 |
73 |
74 | org.quartz-scheduler
75 | quartz
76 | ${quartz.version}
77 |
78 |
79 |
80 | org.slf4j
81 | slf4j-log4j12
82 | ${slf4j-log4j12.version}
83 |
84 |
85 |
86 | org.apache.httpcomponents
87 | httpclient
88 | 4.5
89 |
90 |
91 |
92 |
93 |
94 | spring-quartz-cluster-sample
95 |
96 |
97 | org.apache.tomcat.maven
98 | tomcat7-maven-plugin
99 | 2.2
100 |
101 | 9090
102 |
103 |
104 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/controller/ScheduleJobController.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.controller;
2 |
3 | import java.util.List;
4 |
5 | import org.apache.commons.lang.StringUtils;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Controller;
8 | import org.springframework.ui.ModelMap;
9 | import org.springframework.web.bind.annotation.RequestMapping;
10 | import org.springframework.web.bind.annotation.RequestMethod;
11 |
12 | import net.aimeizi.quartz.service.ScheduleJobService;
13 | import net.aimeizi.quartz.vo.ScheduleJobVo;
14 |
15 | /**
16 | * author : fengjing
17 | * createTime : 2016-08-04
18 | * description : 定时任务控制器
19 | * version : 1.0
20 | */
21 | @Controller
22 | public class ScheduleJobController {
23 |
24 | /** job service */
25 | @Autowired
26 | private ScheduleJobService scheduleJobService;
27 |
28 | /**
29 | * 任务页面
30 | *
31 | * @return
32 | */
33 | @RequestMapping(value = "input-schedule-job", method = RequestMethod.GET)
34 | public String inputScheduleJob(ScheduleJobVo scheduleJobVo, ModelMap modelMap) {
35 |
36 | if (scheduleJobVo.getScheduleJobId() != null) {
37 | ScheduleJobVo scheduleJob = scheduleJobService.get(scheduleJobVo.getScheduleJobId());
38 | scheduleJob.setKeywords(scheduleJobVo.getKeywords());
39 | modelMap.put("scheduleJobVo", scheduleJob);
40 | }
41 |
42 | return "input-schedule-job";
43 | }
44 |
45 | /**
46 | * 删除任务
47 | *
48 | * @return
49 | */
50 | @RequestMapping(value = "delete-schedule-job", method = RequestMethod.GET)
51 | public String deleteScheduleJob(Long scheduleJobId) {
52 |
53 | scheduleJobService.delete(scheduleJobId);
54 |
55 | return "redirect:list-schedule-job.shtml";
56 | }
57 |
58 | /**
59 | * 运行一次
60 | *
61 | * @return
62 | */
63 | @RequestMapping(value = "run-once-schedule-job", method = RequestMethod.GET)
64 | public String runOnceScheduleJob(Long scheduleJobId) {
65 |
66 | scheduleJobService.runOnce(scheduleJobId);
67 |
68 | return "redirect:list-schedule-job.shtml";
69 | }
70 |
71 | /**
72 | * 暂停
73 | *
74 | * @return
75 | */
76 | @RequestMapping(value = "pause-schedule-job", method = RequestMethod.GET)
77 | public String pauseScheduleJob(Long scheduleJobId) {
78 | scheduleJobService.pauseJob(scheduleJobId);
79 | return "redirect:list-schedule-job.shtml";
80 | }
81 |
82 | /**
83 | * 恢复
84 | *
85 | * @return
86 | */
87 | @RequestMapping(value = "resume-schedule-job", method = RequestMethod.GET)
88 | public String resumeScheduleJob(Long scheduleJobId) {
89 | scheduleJobService.resumeJob(scheduleJobId);
90 | return "redirect:list-schedule-job.shtml";
91 | }
92 |
93 | /**
94 | * 保存任务
95 | *
96 | * @param scheduleJobVo
97 | * @return
98 | */
99 | @RequestMapping(value = "save-schedule-job", method = RequestMethod.POST)
100 | public String saveScheduleJob(ScheduleJobVo scheduleJobVo) {
101 |
102 | //测试用随便设个状态
103 | scheduleJobVo.setStatus("1");
104 |
105 | if (scheduleJobVo.getScheduleJobId() == null) {
106 | scheduleJobService.insert(scheduleJobVo);
107 | } else if (StringUtils.equalsIgnoreCase(scheduleJobVo.getKeywords(),"delUpdate")){
108 | //直接拿keywords存一下,就不另外重新弄了
109 | scheduleJobService.delUpdate(scheduleJobVo);
110 | }else {
111 | scheduleJobService.update(scheduleJobVo);
112 | }
113 | return "redirect:list-schedule-job.shtml";
114 | }
115 |
116 | /**
117 | * 任务列表页
118 | *
119 | * @param modelMap
120 | * @return
121 | */
122 | @RequestMapping(value = "list-schedule-job", method = RequestMethod.GET)
123 | public String listScheduleJob(ScheduleJobVo scheduleJobVo, ModelMap modelMap) {
124 |
125 | List scheduleJobVoList = scheduleJobService.queryList(scheduleJobVo);
126 | modelMap.put("scheduleJobVoList", scheduleJobVoList);
127 |
128 | List executingJobList = scheduleJobService.queryExecutingJobList();
129 | modelMap.put("executingJobList", executingJobList);
130 |
131 | return "list-schedule-job";
132 | }
133 |
134 | }
135 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/event/ScheduleJobInit.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.event;
2 |
3 | import javax.annotation.PostConstruct;
4 |
5 | import net.aimeizi.quartz.service.ScheduleJobService;
6 | import org.slf4j.Logger;
7 | import org.slf4j.LoggerFactory;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import org.springframework.stereotype.Component;
10 |
11 | /**
12 | * author : fengjing
13 | * createTime : 2016-08-04
14 | * description : 定时任务初始化
15 | * version : 1.0
16 | */
17 | @Component
18 | public class ScheduleJobInit {
19 |
20 | /** 日志对象 */
21 | private static final Logger LOG = LoggerFactory.getLogger(ScheduleJobInit.class);
22 |
23 | /** 定时任务service */
24 | @Autowired
25 | private ScheduleJobService scheduleJobService;
26 |
27 | /**
28 | * 项目启动时初始化
29 | */
30 | @PostConstruct
31 | public void init() {
32 |
33 | if (LOG.isInfoEnabled()) {
34 | LOG.info("init");
35 | }
36 |
37 | scheduleJobService.initScheduleJob();
38 |
39 | if (LOG.isInfoEnabled()) {
40 | LOG.info("end");
41 | }
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/exceptions/ScheduleException.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.exceptions;
2 |
3 | import com.dexcoder.commons.exceptions.DexcoderException;
4 |
5 | /**
6 | * author : fengjing
7 | * createTime : 2016-08-04
8 | * description : 定时任务自定义异常
9 | * version : 1.0
10 | */
11 | public class ScheduleException extends DexcoderException {
12 |
13 | /** serialVersionUID */
14 | private static final long serialVersionUID = -1921648378954132894L;
15 |
16 | /**
17 | * Instantiates a new ScheduleException.
18 | *
19 | * @param e the e
20 | */
21 | public ScheduleException(Throwable e) {
22 | super(e);
23 | }
24 |
25 | /**
26 | * Constructor
27 | *
28 | * @param message the message
29 | */
30 | public ScheduleException(String message) {
31 | super(message);
32 | }
33 |
34 | /**
35 | * Constructor
36 | *
37 | * @param code the code
38 | * @param message the message
39 | */
40 | public ScheduleException(String code, String message) {
41 | super(code, message);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/model/ScheduleJob.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.model;
2 |
3 | import java.util.Date;
4 |
5 | import com.dexcoder.commons.pager.Pageable;
6 |
7 | /**
8 | * author : fengjing
9 | * createTime : 2016-08-04
10 | * description : 计划任务模型
11 | * version : 1.0
12 | */
13 | public class ScheduleJob extends Pageable {
14 |
15 | private static final long serialVersionUID = 4888005949821878223L;
16 |
17 | /** 任务id */
18 | private Long scheduleJobId;
19 |
20 | /** 任务名称 */
21 | private String jobName;
22 |
23 | /** 任务别名 */
24 | private String aliasName;
25 |
26 | /** 任务分组 */
27 | private String jobGroup;
28 |
29 | /** 触发器 */
30 | private String jobTrigger;
31 |
32 | /** 任务状态 */
33 | private String status;
34 |
35 | /** 任务运行时间表达式 */
36 | private String cronExpression;
37 |
38 | /** 是否异步 */
39 | private Boolean isSync;
40 |
41 | /** 任务描述 */
42 | private String description;
43 |
44 | /** 创建时间 */
45 | private Date gmtCreate;
46 |
47 | /** 修改时间 */
48 | private Date gmtModify;
49 |
50 | /** 任务执行url */
51 | private String url;
52 |
53 | public Long getScheduleJobId() {
54 | return scheduleJobId;
55 | }
56 |
57 | public void setScheduleJobId(Long scheduleJobId) {
58 | this.scheduleJobId = scheduleJobId;
59 | }
60 |
61 | public String getJobName() {
62 | return jobName;
63 | }
64 |
65 | public void setJobName(String jobName) {
66 | this.jobName = jobName;
67 | }
68 |
69 | public String getAliasName() {
70 | return aliasName;
71 | }
72 |
73 | public void setAliasName(String aliasName) {
74 | this.aliasName = aliasName;
75 | }
76 |
77 | public String getJobGroup() {
78 | return jobGroup;
79 | }
80 |
81 | public void setJobGroup(String jobGroup) {
82 | this.jobGroup = jobGroup;
83 | }
84 |
85 | public String getJobTrigger() {
86 | return jobTrigger;
87 | }
88 |
89 | public void setJobTrigger(String jobTrigger) {
90 | this.jobTrigger = jobTrigger;
91 | }
92 |
93 | public String getStatus() {
94 | return status;
95 | }
96 |
97 | public void setStatus(String status) {
98 | this.status = status;
99 | }
100 |
101 | public String getCronExpression() {
102 | return cronExpression;
103 | }
104 |
105 | public void setCronExpression(String cronExpression) {
106 | this.cronExpression = cronExpression;
107 | }
108 |
109 | public Boolean getIsSync() {
110 | return isSync;
111 | }
112 |
113 | public void setIsSync(Boolean isSync) {
114 | this.isSync = isSync;
115 | }
116 |
117 | public String getDescription() {
118 | return description;
119 | }
120 |
121 | public void setDescription(String description) {
122 | this.description = description;
123 | }
124 |
125 | public Date getGmtCreate() {
126 | return gmtCreate;
127 | }
128 |
129 | public void setGmtCreate(Date gmtCreate) {
130 | this.gmtCreate = gmtCreate;
131 | }
132 |
133 | public Date getGmtModify() {
134 | return gmtModify;
135 | }
136 |
137 | public void setGmtModify(Date gmtModify) {
138 | this.gmtModify = gmtModify;
139 | }
140 |
141 | public String getUrl() {
142 | return url;
143 | }
144 |
145 | public void setUrl(String url) {
146 | this.url = url;
147 | }
148 |
149 | @Override
150 | public String toString() {
151 | return "ScheduleJob{" +
152 | "scheduleJobId=" + scheduleJobId +
153 | ", jobName='" + jobName + '\'' +
154 | ", aliasName='" + aliasName + '\'' +
155 | ", jobGroup='" + jobGroup + '\'' +
156 | ", jobTrigger='" + jobTrigger + '\'' +
157 | ", status='" + status + '\'' +
158 | ", cronExpression='" + cronExpression + '\'' +
159 | ", isSync=" + isSync +
160 | ", description='" + description + '\'' +
161 | ", gmtCreate=" + gmtCreate +
162 | ", gmtModify=" + gmtModify +
163 | ", url='" + url + '\'' +
164 | '}';
165 | }
166 | }
167 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/quartz/AsyncJobFactory.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.quartz;
2 |
3 | import net.aimeizi.quartz.model.ScheduleJob;
4 | import net.aimeizi.quartz.vo.ScheduleJobVo;
5 | import org.quartz.JobExecutionContext;
6 | import org.quartz.JobExecutionException;
7 | import org.slf4j.Logger;
8 | import org.slf4j.LoggerFactory;
9 | import org.springframework.scheduling.quartz.QuartzJobBean;
10 |
11 | /**
12 | * author : fengjing
13 | * createTime : 2016-08-04
14 | * description : 异步任务工厂
15 | * version : 1.0
16 | */
17 | public class AsyncJobFactory extends QuartzJobBean {
18 |
19 | /* 日志对象 */
20 | private static final Logger LOG = LoggerFactory.getLogger(AsyncJobFactory.class);
21 | @Override
22 | protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
23 | LOG.info("AsyncJobFactory execute");
24 | ScheduleJob scheduleJob = (ScheduleJob) context.getMergedJobDataMap().get(ScheduleJobVo.JOB_PARAM_KEY);
25 | System.out.println("jobName:" + scheduleJob.getJobName() + " " + scheduleJob);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/quartz/SyncJobFactory.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.quartz;
2 |
3 | import net.aimeizi.quartz.model.ScheduleJob;
4 | import net.aimeizi.quartz.vo.ScheduleJobVo;
5 | import org.quartz.*;
6 | import org.slf4j.Logger;
7 | import org.slf4j.LoggerFactory;
8 | import org.springframework.scheduling.quartz.QuartzJobBean;
9 |
10 | /**
11 | * author : fengjing
12 | * createTime : 2016-08-04
13 | * description : 同步任务工厂
14 | * version : 1.0
15 | */
16 | @PersistJobDataAfterExecution
17 | @DisallowConcurrentExecution
18 | public class SyncJobFactory extends QuartzJobBean {
19 |
20 | /* 日志对象 */
21 | private static final Logger LOG = LoggerFactory.getLogger(SyncJobFactory.class);
22 |
23 | protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
24 | LOG.info("SyncJobFactory execute");
25 | JobDataMap mergedJobDataMap = context.getMergedJobDataMap();
26 | ScheduleJob scheduleJob = (ScheduleJob) mergedJobDataMap.get(ScheduleJobVo.JOB_PARAM_KEY);
27 | System.out.println("jobName:" + scheduleJob.getJobName() + " " + scheduleJob);
28 | // String url = scheduleJob.getUrl();
29 | // CloseableHttpClient httpclient = HttpClients.createDefault();
30 | // HttpGet httpGet = new HttpGet(url);
31 | // CloseableHttpResponse response;
32 | // try {
33 | // response = httpclient.execute(httpGet);
34 | // System.out.println(response.getStatusLine());
35 | // HttpEntity entity = response.getEntity();
36 | // EntityUtils.consume(entity);
37 | // } catch (IOException e) {
38 | // e.printStackTrace();
39 | // }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/service/ScheduleJobService.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.service;
2 |
3 | import java.util.List;
4 |
5 | import net.aimeizi.quartz.vo.ScheduleJobVo;
6 |
7 | /**
8 | * author : fengjing
9 | * createTime : 2016-08-04
10 | * description : 定时任务服务
11 | * version : 1.0
12 | */
13 | public interface ScheduleJobService {
14 |
15 | /**
16 | * 初始化定时任务
17 | */
18 | public void initScheduleJob();
19 |
20 | /**
21 | * 新增
22 | *
23 | * @param scheduleJobVo
24 | * @return
25 | */
26 | public Long insert(ScheduleJobVo scheduleJobVo);
27 |
28 | /**
29 | * 直接修改 只能修改运行的时间,参数、同异步等无法修改
30 | *
31 | * @param scheduleJobVo
32 | */
33 | public void update(ScheduleJobVo scheduleJobVo);
34 |
35 | /**
36 | * 删除重新创建方式
37 | *
38 | * @param scheduleJobVo
39 | */
40 | public void delUpdate(ScheduleJobVo scheduleJobVo);
41 |
42 | /**
43 | * 删除
44 | *
45 | * @param scheduleJobId
46 | */
47 | public void delete(Long scheduleJobId);
48 |
49 | /**
50 | * 运行一次任务
51 | *
52 | * @param scheduleJobId the schedule job id
53 | * @return
54 | */
55 | public void runOnce(Long scheduleJobId);
56 |
57 | /**
58 | * 暂停任务
59 | *
60 | * @param scheduleJobId the schedule job id
61 | * @return
62 | */
63 | public void pauseJob(Long scheduleJobId);
64 |
65 | /**
66 | * 恢复任务
67 | *
68 | * @param scheduleJobId the schedule job id
69 | * @return
70 | */
71 | public void resumeJob(Long scheduleJobId);
72 |
73 | /**
74 | * 获取任务对象
75 | *
76 | * @param scheduleJobId
77 | * @return
78 | */
79 | public ScheduleJobVo get(Long scheduleJobId);
80 |
81 | /**
82 | * 查询任务列表
83 | *
84 | * @param scheduleJobVo
85 | * @return
86 | */
87 | public List queryList(ScheduleJobVo scheduleJobVo);
88 |
89 | /**
90 | * 获取运行中的任务列表
91 | *
92 | * @return
93 | */
94 | public List queryExecutingJobList();
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/service/impl/ScheduleJobServiceImpl.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.service.impl;
2 |
3 | import com.dexcoder.commons.bean.BeanConverter;
4 | import com.dexcoder.dal.JdbcDao;
5 | import com.dexcoder.dal.build.Criteria;
6 | import net.aimeizi.quartz.model.ScheduleJob;
7 | import net.aimeizi.quartz.service.ScheduleJobService;
8 | import net.aimeizi.quartz.utils.ScheduleUtils;
9 | import net.aimeizi.quartz.vo.ScheduleJobVo;
10 | import org.apache.commons.collections.CollectionUtils;
11 | import org.quartz.*;
12 | import org.quartz.impl.matchers.GroupMatcher;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import org.springframework.stereotype.Service;
15 |
16 | import java.util.ArrayList;
17 | import java.util.List;
18 |
19 | /**
20 | * author : fengjing
21 | * createTime : 2016-08-04
22 | * description : 定时任务服务实现
23 | * version : 1.0
24 | */
25 | @Service
26 | public class ScheduleJobServiceImpl implements ScheduleJobService {
27 |
28 | /** 调度工厂Bean */
29 | @Autowired
30 | private Scheduler scheduler;
31 |
32 | /** 通用dao */
33 | @Autowired
34 | private JdbcDao jdbcDao;
35 |
36 | public void initScheduleJob() {
37 | List scheduleJobList = jdbcDao.queryList(Criteria.select(ScheduleJob.class));
38 | if (CollectionUtils.isEmpty(scheduleJobList)) {
39 | return;
40 | }
41 | for (ScheduleJob scheduleJob : scheduleJobList) {
42 |
43 | CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
44 |
45 | //不存在,创建一个
46 | if (cronTrigger == null) {
47 | ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
48 | } else {
49 | //已存在,那么更新相应的定时设置
50 | ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
51 | }
52 | }
53 | }
54 |
55 | public Long insert(ScheduleJobVo scheduleJobVo) {
56 | ScheduleJob scheduleJob = scheduleJobVo.getTargetObject(ScheduleJob.class);
57 | ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
58 | return jdbcDao.insert(scheduleJob);
59 | }
60 |
61 | public void update(ScheduleJobVo scheduleJobVo) {
62 | ScheduleJob scheduleJob = scheduleJobVo.getTargetObject(ScheduleJob.class);
63 | ScheduleUtils.updateScheduleJob(scheduler, scheduleJob);
64 | jdbcDao.update(scheduleJob);
65 | }
66 |
67 | public void delUpdate(ScheduleJobVo scheduleJobVo) {
68 | ScheduleJob scheduleJob = scheduleJobVo.getTargetObject(ScheduleJob.class);
69 | //先删除
70 | ScheduleUtils.deleteScheduleJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
71 | //再创建
72 | ScheduleUtils.createScheduleJob(scheduler, scheduleJob);
73 | //数据库直接更新即可
74 | jdbcDao.update(scheduleJob);
75 | }
76 |
77 | public void delete(Long scheduleJobId) {
78 | ScheduleJob scheduleJob = jdbcDao.get(ScheduleJob.class, scheduleJobId);
79 | //删除运行的任务
80 | ScheduleUtils.deleteScheduleJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
81 | //删除数据
82 | jdbcDao.delete(ScheduleJob.class, scheduleJobId);
83 | }
84 |
85 | public void runOnce(Long scheduleJobId) {
86 | ScheduleJob scheduleJob = jdbcDao.get(ScheduleJob.class, scheduleJobId);
87 | ScheduleUtils.runOnce(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
88 | }
89 |
90 | public void pauseJob(Long scheduleJobId) {
91 | ScheduleJob scheduleJob = jdbcDao.get(ScheduleJob.class, scheduleJobId);
92 | ScheduleUtils.pauseJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
93 | //演示数据库就不更新了
94 | }
95 |
96 | public void resumeJob(Long scheduleJobId) {
97 | ScheduleJob scheduleJob = jdbcDao.get(ScheduleJob.class, scheduleJobId);
98 | ScheduleUtils.resumeJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup());
99 | //演示数据库就不更新了
100 | }
101 |
102 | public ScheduleJobVo get(Long scheduleJobId) {
103 | ScheduleJob scheduleJob = jdbcDao.get(ScheduleJob.class, scheduleJobId);
104 | return scheduleJob.getTargetObject(ScheduleJobVo.class);
105 | }
106 |
107 | public List queryList(ScheduleJobVo scheduleJobVo) {
108 |
109 | List scheduleJobs = jdbcDao.queryList(scheduleJobVo.getTargetObject(ScheduleJob.class));
110 |
111 | List scheduleJobVoList = BeanConverter.convert(ScheduleJobVo.class, scheduleJobs);
112 | try {
113 | for (ScheduleJobVo vo : scheduleJobVoList) {
114 |
115 | JobKey jobKey = ScheduleUtils.getJobKey(vo.getJobName(), vo.getJobGroup());
116 | List extends Trigger> triggers = scheduler.getTriggersOfJob(jobKey);
117 | if (CollectionUtils.isEmpty(triggers)) {
118 | continue;
119 | }
120 |
121 | //这里一个任务可以有多个触发器, 但是我们一个任务对应一个触发器,所以只取第一个即可,清晰明了
122 | Trigger trigger = triggers.iterator().next();
123 | vo.setJobTrigger(trigger.getKey().getName());
124 |
125 | Trigger.TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());
126 | vo.setStatus(triggerState.name());
127 |
128 | if (trigger instanceof CronTrigger) {
129 | CronTrigger cronTrigger = (CronTrigger) trigger;
130 | String cronExpression = cronTrigger.getCronExpression();
131 | vo.setCronExpression(cronExpression);
132 | }
133 | }
134 | } catch (SchedulerException e) {
135 | //演示用,就不处理了
136 | }
137 | return scheduleJobVoList;
138 | }
139 |
140 | /**
141 | * 获取运行中的job列表
142 | * @return
143 | */
144 | public List queryExecutingJobList() {
145 | try {
146 | // 存放结果集
147 | List jobList = new ArrayList();
148 |
149 | // 获取scheduler中的JobGroupName
150 | for (String group:scheduler.getJobGroupNames()){
151 | // 获取JobKey 循环遍历JobKey
152 | for(JobKey jobKey:scheduler.getJobKeys(GroupMatcher.groupEquals(group))){
153 | JobDetail jobDetail = scheduler.getJobDetail(jobKey);
154 | JobDataMap jobDataMap = jobDetail.getJobDataMap();
155 | ScheduleJob scheduleJob = (ScheduleJob)jobDataMap.get(ScheduleJobVo.JOB_PARAM_KEY);
156 | ScheduleJobVo scheduleJobVo = new ScheduleJobVo();
157 | BeanConverter.convert(scheduleJobVo,scheduleJob);
158 | List extends Trigger> triggers = scheduler.getTriggersOfJob(jobKey);
159 | Trigger trigger = triggers.iterator().next();
160 | Trigger.TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());
161 | scheduleJobVo.setJobTrigger(trigger.getKey().getName());
162 | scheduleJobVo.setStatus(triggerState.name());
163 | if (trigger instanceof CronTrigger) {
164 | CronTrigger cronTrigger = (CronTrigger) trigger;
165 | String cronExpression = cronTrigger.getCronExpression();
166 | scheduleJobVo.setCronExpression(cronExpression);
167 | }
168 | // 获取正常运行的任务列表
169 | if(triggerState.name().equals("NORMAL")){
170 | jobList.add(scheduleJobVo);
171 | }
172 | }
173 | }
174 |
175 | /** 非集群环境获取正在执行的任务列表 */
176 | /**
177 | List executingJobs = scheduler.getCurrentlyExecutingJobs();
178 | List jobList = new ArrayList(executingJobs.size());
179 | for (JobExecutionContext executingJob : executingJobs) {
180 | ScheduleJobVo job = new ScheduleJobVo();
181 | JobDetail jobDetail = executingJob.getJobDetail();
182 | JobKey jobKey = jobDetail.getKey();
183 | Trigger trigger = executingJob.getTrigger();
184 | job.setJobName(jobKey.getName());
185 | job.setJobGroup(jobKey.getGroup());
186 | job.setJobTrigger(trigger.getKey().getName());
187 | Trigger.TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());
188 | job.setStatus(triggerState.name());
189 | if (trigger instanceof CronTrigger) {
190 | CronTrigger cronTrigger = (CronTrigger) trigger;
191 | String cronExpression = cronTrigger.getCronExpression();
192 | job.setCronExpression(cronExpression);
193 | }
194 | jobList.add(job);
195 | }*/
196 |
197 | return jobList;
198 | } catch (SchedulerException e) {
199 | return null;
200 | }
201 |
202 | }
203 | }
204 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/utils/ScheduleUtils.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.utils;
2 |
3 | import net.aimeizi.quartz.exceptions.ScheduleException;
4 | import net.aimeizi.quartz.model.ScheduleJob;
5 | import net.aimeizi.quartz.quartz.AsyncJobFactory;
6 | import net.aimeizi.quartz.quartz.SyncJobFactory;
7 | import net.aimeizi.quartz.vo.ScheduleJobVo;
8 | import org.quartz.*;
9 | import org.slf4j.Logger;
10 | import org.slf4j.LoggerFactory;
11 |
12 | /**
13 | * author : fengjing
14 | * createTime : 2016-08-04
15 | * description : 定时任务操作辅助类
16 | * version : 1.0
17 | */
18 | public class ScheduleUtils {
19 |
20 | /** 日志对象 */
21 | private static final Logger LOG = LoggerFactory.getLogger(ScheduleUtils.class);
22 |
23 | /**
24 | * 获取触发器key
25 | *
26 | * @param jobName
27 | * @param jobGroup
28 | * @return
29 | */
30 | public static TriggerKey getTriggerKey(String jobName, String jobGroup) {
31 |
32 | return TriggerKey.triggerKey(jobName, jobGroup);
33 | }
34 |
35 | /**
36 | * 获取表达式触发器
37 | *
38 | * @param scheduler the scheduler
39 | * @param jobName the job name
40 | * @param jobGroup the job group
41 | * @return cron trigger
42 | */
43 | public static CronTrigger getCronTrigger(Scheduler scheduler, String jobName, String jobGroup) {
44 |
45 | try {
46 | TriggerKey triggerKey = TriggerKey.triggerKey(jobName, jobGroup);
47 | return (CronTrigger) scheduler.getTrigger(triggerKey);
48 | } catch (SchedulerException e) {
49 | LOG.error("获取定时任务CronTrigger出现异常", e);
50 | throw new ScheduleException("获取定时任务CronTrigger出现异常");
51 | }
52 | }
53 |
54 | /**
55 | * 创建任务
56 | *
57 | * @param scheduler the scheduler
58 | * @param scheduleJob the schedule job
59 | */
60 | public static void createScheduleJob(Scheduler scheduler, ScheduleJob scheduleJob) {
61 | createScheduleJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup(),
62 | scheduleJob.getCronExpression(), scheduleJob.getIsSync(), scheduleJob);
63 | }
64 |
65 | /**
66 | * 创建定时任务
67 | *
68 | * @param scheduler the scheduler
69 | * @param jobName the job name
70 | * @param jobGroup the job group
71 | * @param cronExpression the cron expression
72 | * @param isSync the is sync
73 | * @param param the param
74 | */
75 | public static void createScheduleJob(Scheduler scheduler, String jobName, String jobGroup,
76 | String cronExpression, boolean isSync, Object param) {
77 | //同步或异步
78 | Class extends Job> jobClass = isSync ? AsyncJobFactory.class : SyncJobFactory.class;
79 |
80 | //构建job信息
81 | JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, jobGroup).build();
82 |
83 | //表达式调度构建器
84 | CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression);
85 |
86 | //按新的cronExpression表达式构建一个新的trigger
87 | CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(jobName, jobGroup).withSchedule(scheduleBuilder).build();
88 |
89 | String jobTrigger = trigger.getKey().getName();
90 |
91 | ScheduleJob scheduleJob = (ScheduleJob)param;
92 | scheduleJob.setJobTrigger(jobTrigger);
93 |
94 | //放入参数,运行时的方法可以获取
95 | jobDetail.getJobDataMap().put(ScheduleJobVo.JOB_PARAM_KEY, scheduleJob);
96 |
97 | try {
98 | scheduler.scheduleJob(jobDetail, trigger);
99 | } catch (SchedulerException e) {
100 | LOG.error("创建定时任务失败", e);
101 | throw new ScheduleException("创建定时任务失败");
102 | }
103 | }
104 |
105 | /**
106 | * 运行一次任务
107 | *
108 | * @param scheduler
109 | * @param jobName
110 | * @param jobGroup
111 | */
112 | public static void runOnce(Scheduler scheduler, String jobName, String jobGroup) {
113 | JobKey jobKey = JobKey.jobKey(jobName, jobGroup);
114 | try {
115 | scheduler.triggerJob(jobKey);
116 | } catch (SchedulerException e) {
117 | LOG.error("运行一次定时任务失败", e);
118 | throw new ScheduleException("运行一次定时任务失败");
119 | }
120 | }
121 |
122 | /**
123 | * 暂停任务
124 | *
125 | * @param scheduler
126 | * @param jobName
127 | * @param jobGroup
128 | */
129 | public static void pauseJob(Scheduler scheduler, String jobName, String jobGroup) {
130 |
131 | JobKey jobKey = JobKey.jobKey(jobName, jobGroup);
132 | try {
133 | scheduler.pauseJob(jobKey);
134 | } catch (SchedulerException e) {
135 | LOG.error("暂停定时任务失败", e);
136 | throw new ScheduleException("暂停定时任务失败");
137 | }
138 | }
139 |
140 | /**
141 | * 恢复任务
142 | *
143 | * @param scheduler
144 | * @param jobName
145 | * @param jobGroup
146 | */
147 | public static void resumeJob(Scheduler scheduler, String jobName, String jobGroup) {
148 |
149 | JobKey jobKey = JobKey.jobKey(jobName, jobGroup);
150 | try {
151 | scheduler.resumeJob(jobKey);
152 | } catch (SchedulerException e) {
153 | LOG.error("暂停定时任务失败", e);
154 | throw new ScheduleException("暂停定时任务失败");
155 | }
156 | }
157 |
158 | /**
159 | * 获取jobKey
160 | *
161 | * @param jobName the job name
162 | * @param jobGroup the job group
163 | * @return the job key
164 | */
165 | public static JobKey getJobKey(String jobName, String jobGroup) {
166 |
167 | return JobKey.jobKey(jobName, jobGroup);
168 | }
169 |
170 | /**
171 | * 更新定时任务
172 | *
173 | * @param scheduler the scheduler
174 | * @param scheduleJob the schedule job
175 | */
176 | public static void updateScheduleJob(Scheduler scheduler, ScheduleJob scheduleJob) {
177 | updateScheduleJob(scheduler, scheduleJob.getJobName(), scheduleJob.getJobGroup(),
178 | scheduleJob.getCronExpression(), scheduleJob.getIsSync(), scheduleJob);
179 | }
180 |
181 | /**
182 | * 更新定时任务
183 | *
184 | * @param scheduler the scheduler
185 | * @param jobName the job name
186 | * @param jobGroup the job group
187 | * @param cronExpression the cron expression
188 | * @param isSync the is sync
189 | * @param param the param
190 | */
191 | public static void updateScheduleJob(Scheduler scheduler, String jobName, String jobGroup,
192 | String cronExpression, boolean isSync, Object param) {
193 |
194 | //同步或异步
195 | // Class extends Job> jobClass = isSync ? AsyncJobFactory.class : SyncJobFactory.class;
196 |
197 | try {
198 | // JobDetail jobDetail = scheduler.getJobDetail(getJobKey(jobName, jobGroup));
199 |
200 | // jobDetail = jobDetail.getJobBuilder().ofType(jobClass).build();
201 |
202 | //更新参数 实际测试中发现无法更新
203 | // JobDataMap jobDataMap = jobDetail.getJobDataMap();
204 | // jobDataMap.put(ScheduleJobVo.JOB_PARAM_KEY, param);
205 | // jobDetail.getJobBuilder().usingJobData(jobDataMap);
206 |
207 | TriggerKey triggerKey = ScheduleUtils.getTriggerKey(jobName, jobGroup);
208 |
209 | //表达式调度构建器
210 | CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression);
211 |
212 | CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
213 |
214 | //按新的cronExpression表达式重新构建trigger
215 | trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
216 | Trigger.TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());
217 | // 忽略状态为PAUSED的任务,解决集群环境中在其他机器设置定时任务为PAUSED状态后,集群环境启动另一台主机时定时任务全被唤醒的bug
218 | if(!triggerState.name().equalsIgnoreCase("PAUSED")){
219 | //按新的trigger重新设置job执行
220 | scheduler.rescheduleJob(triggerKey, trigger);
221 | }
222 | } catch (SchedulerException e) {
223 | LOG.error("更新定时任务失败", e);
224 | throw new ScheduleException("更新定时任务失败");
225 | }
226 | }
227 |
228 | /**
229 | * 删除定时任务
230 | *
231 | * @param scheduler
232 | * @param jobName
233 | * @param jobGroup
234 | */
235 | public static void deleteScheduleJob(Scheduler scheduler, String jobName, String jobGroup) {
236 | try {
237 | scheduler.deleteJob(getJobKey(jobName, jobGroup));
238 | } catch (SchedulerException e) {
239 | LOG.error("删除定时任务失败", e);
240 | throw new ScheduleException("删除定时任务失败");
241 | }
242 | }
243 | }
244 |
--------------------------------------------------------------------------------
/src/main/java/net/aimeizi/quartz/vo/ScheduleJobVo.java:
--------------------------------------------------------------------------------
1 | package net.aimeizi.quartz.vo;
2 |
3 | import com.dexcoder.commons.pager.Pageable;
4 |
5 | import java.util.Date;
6 |
7 | /**
8 | * author : fengjing
9 | * createTime : 2016-08-04
10 | * description : 定时任务模型Vo
11 | * version : 1.0
12 | */
13 | public class ScheduleJobVo extends Pageable {
14 |
15 | private static final long serialVersionUID = -4216107640768329946L;
16 |
17 | /** 任务调度的参数key */
18 | public static final String JOB_PARAM_KEY = "jobParam";
19 |
20 | /** 任务id */
21 | private Long scheduleJobId;
22 |
23 | /** 任务名称 */
24 | private String jobName;
25 |
26 | /** 任务别名 */
27 | private String aliasName;
28 |
29 | /** 任务分组 */
30 | private String jobGroup;
31 |
32 | /** 触发器 */
33 | private String jobTrigger;
34 |
35 | /** 任务状态 */
36 | private String status;
37 |
38 | /** 任务运行时间表达式 */
39 | private String cronExpression;
40 |
41 | /** 是否异步 */
42 | private Boolean isSync;
43 |
44 | /** 任务描述 */
45 | private String description;
46 |
47 | /** 创建时间 */
48 | private Date gmtCreate;
49 |
50 | /** 修改时间 */
51 | private Date gmtModify;
52 |
53 | /** 任务执行url */
54 | private String url;
55 |
56 | public Long getScheduleJobId() {
57 | return scheduleJobId;
58 | }
59 |
60 | public void setScheduleJobId(Long scheduleJobId) {
61 | this.scheduleJobId = scheduleJobId;
62 | }
63 |
64 | public String getJobName() {
65 | return jobName;
66 | }
67 |
68 | public void setJobName(String jobName) {
69 | this.jobName = jobName;
70 | }
71 |
72 | public String getAliasName() {
73 | return aliasName;
74 | }
75 |
76 | public void setAliasName(String aliasName) {
77 | this.aliasName = aliasName;
78 | }
79 |
80 | public String getJobGroup() {
81 | return jobGroup;
82 | }
83 |
84 | public void setJobGroup(String jobGroup) {
85 | this.jobGroup = jobGroup;
86 | }
87 |
88 | public String getJobTrigger() {
89 | return jobTrigger;
90 | }
91 |
92 | public void setJobTrigger(String jobTrigger) {
93 | this.jobTrigger = jobTrigger;
94 | }
95 |
96 | public String getStatus() {
97 | return status;
98 | }
99 |
100 | public void setStatus(String status) {
101 | this.status = status;
102 | }
103 |
104 | public String getCronExpression() {
105 | return cronExpression;
106 | }
107 |
108 | public void setCronExpression(String cronExpression) {
109 | this.cronExpression = cronExpression;
110 | }
111 |
112 | public String getDescription() {
113 | return description;
114 | }
115 |
116 | public void setDescription(String description) {
117 | this.description = description;
118 | }
119 |
120 | public Date getGmtCreate() {
121 | return gmtCreate;
122 | }
123 |
124 | public void setGmtCreate(Date gmtCreate) {
125 | this.gmtCreate = gmtCreate;
126 | }
127 |
128 | public Date getGmtModify() {
129 | return gmtModify;
130 | }
131 |
132 | public void setGmtModify(Date gmtModify) {
133 | this.gmtModify = gmtModify;
134 | }
135 |
136 | public Boolean getIsSync() {
137 | return isSync;
138 | }
139 |
140 | public void setIsSync(Boolean isSync) {
141 | this.isSync = isSync;
142 | }
143 |
144 | public String getUrl() {
145 | return url;
146 | }
147 |
148 | public void setUrl(String url) {
149 | this.url = url;
150 | }
151 | }
152 |
--------------------------------------------------------------------------------
/src/main/resources/applicationContext.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
20 |
21 | ${driverClassName}
22 |
23 |
24 | ${jdbcUrl}
25 |
26 |
27 | ${username}
28 |
29 |
30 | ${password}
31 |
32 |
33 | ${initialSize}
34 |
35 |
36 | ${maxActive}
37 |
38 |
39 | ${maxIdle}
40 |
41 |
42 | ${maxWait}
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | ${jdbcTemplate.fetchSize}
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | ClusterScheduler
64 | AUTO
65 |
66 | org.quartz.simpl.SimpleThreadPool
67 | 20
68 | 5
69 |
70 | org.quartz.impl.jdbcjobstore.JobStoreTX
71 |
72 |
73 | true
74 | 15000
75 | 1
76 |
77 | 120000
78 |
79 | QRTZ_
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/src/main/resources/create-schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `SCHEDULE_JOB` (
2 | `schedule_job_id` bigint(20) NOT NULL AUTO_INCREMENT,
3 | `job_name` varchar(255) DEFAULT NULL,
4 | `alias_name` varchar(255) DEFAULT NULL,
5 | `job_group` varchar(255) DEFAULT NULL,
6 | `job_trigger` varchar(255) DEFAULT NULL,
7 | `status` varchar(255) DEFAULT NULL,
8 | `cron_expression` varchar(255) DEFAULT NULL,
9 | `is_sync` varchar(1) NOT NULL,
10 | `url` varchar(255) DEFAULT NULL,
11 | `description` varchar(255) DEFAULT NULL,
12 | `gmt_create` timestamp NULL DEFAULT NULL,
13 | `gmt_modify` timestamp NULL DEFAULT NULL,
14 | PRIMARY KEY (`schedule_job_id`)
15 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8
16 |
--------------------------------------------------------------------------------
/src/main/resources/jdbc.properties:
--------------------------------------------------------------------------------
1 | driverClassName=com.mysql.jdbc.Driver
2 | jdbcUrl=jdbc:mysql://192.168.99.122:3306/quartz?useUnicode=true&characterEncoding=utf-8
3 | username=root
4 | password=root
5 | jdbcTemplate.fetchSize=350
6 | initialSize = 3
7 | maxActive = 100
8 | maxIdle = 5
9 | maxWait = 10
10 |
--------------------------------------------------------------------------------
/src/main/resources/log4j.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
--------------------------------------------------------------------------------
/src/main/resources/quartz.properties:
--------------------------------------------------------------------------------
1 | #============================================================================
2 | # Configure Main Scheduler Properties
3 | #============================================================================
4 |
5 | org.quartz.scheduler.instanceName: MyClusteredScheduler
6 | org.quartz.scheduler.instanceId: AUTO
7 |
8 | org.quartz.scheduler.skipUpdateCheck: true
9 |
10 | #============================================================================
11 | # Configure ThreadPool
12 | #============================================================================
13 |
14 | org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
15 | org.quartz.threadPool.threadCount: 5
16 | org.quartz.threadPool.threadPriority: 5
17 |
18 | #============================================================================
19 | # Configure JobStore
20 | #============================================================================
21 |
22 | org.quartz.jobStore.misfireThreshold: 60000
23 |
24 | org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
25 | org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
26 | org.quartz.jobStore.useProperties=false
27 | org.quartz.jobStore.dataSource=myDS
28 | org.quartz.jobStore.tablePrefix=QRTZ_
29 | org.quartz.jobStore.isClustered=true
30 |
31 | #============================================================================
32 | # Other Example Delegates
33 | #============================================================================
34 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v6Delegate
35 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v7Delegate
36 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DriverDelegate
37 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
38 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
39 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PointbaseDelegate
40 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
41 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
42 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.WebLogicDelegate
43 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
44 | #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate
45 |
46 | #============================================================================
47 | # Configure Datasources
48 | #============================================================================
49 |
50 | org.quartz.dataSource.myDS.driver: com.mysql.jdbc.Driver
51 | org.quartz.dataSource.myDS.URL: jdbc:mysql://192.168.99.122:3306/quartz
52 | org.quartz.dataSource.myDS.user: root
53 | org.quartz.dataSource.myDS.password: root
54 | org.quartz.dataSource.myDS.maxConnections: 5
55 | org.quartz.dataSource.myDS.validationQuery: select 0
56 |
57 | #============================================================================
58 | # Configure Plugins
59 | #============================================================================
60 |
61 | #org.quartz.plugin.shutdownHook.class: org.quartz.plugins.management.ShutdownHookPlugin
62 | #org.quartz.plugin.shutdownHook.cleanShutdown: true
63 |
64 |
65 | #org.quartz.plugin.triggHistory.class: org.quartz.plugins.history.LoggingJobHistoryPlugin
66 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables-index.sql:
--------------------------------------------------------------------------------
1 | CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(NEXT_FIRE_TIME);
2 | CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(TRIGGER_STATE);
3 | CREATE INDEX IDX_QRTZ_T_NF_ST ON QRTZ_TRIGGERS(TRIGGER_STATE,NEXT_FIRE_TIME);
4 | CREATE INDEX IDX_QRTZ_FT_TRIG_NAME ON QRTZ_FIRED_TRIGGERS(TRIGGER_NAME);
5 | CREATE INDEX IDX_QRTZ_FT_TRIG_GROUP ON QRTZ_FIRED_TRIGGERS(TRIGGER_GROUP);
6 | CREATE INDEX IDX_QRTZ_FT_TRIG_NAME ON QRTZ_FIRED_TRIGGERS(TRIGGER_NAME);
7 | CREATE INDEX IDX_QRTZ_FT_TRIG_N_G ON QRTZ_FIRED_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP);
8 | CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(INSTANCE_NAME);
9 | CREATE INDEX IDX_QRTZ_FT_JOB_NAME ON QRTZ_FIRED_TRIGGERS(JOB_NAME);
10 | CREATE INDEX IDX_QRTZ_FT_JOB_GROUP ON QRTZ_FIRED_TRIGGERS(JOB_GROUP);
11 | CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME_MISFIRE ON QRTZ_TRIGGERS(MISFIRE_INSTR,NEXT_FIRE_TIME);
12 | CREATE INDEX IDX_QRTZ_T_NF_ST_MISFIRE ON QRTZ_TRIGGERS(MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
13 | CREATE INDEX IDX_QRTZ_T_NF_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_cloudscape.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Thanks to Srinivas Venkatarangaiah for submitting this file's contents
3 | #
4 | # In your Quartz properties file, you'll need to set
5 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.CloudscapeDelegate
6 | #
7 | # Known to work with Cloudscape 3.6.4 (should work with others)
8 | #
9 |
10 |
11 | create table qrtz_job_details (
12 | sched_name varchar(120) not null,
13 | job_name varchar(200) not null,
14 | job_group varchar(200) not null,
15 | description varchar(250) ,
16 | job_class_name varchar(250) not null,
17 | is_durable varchar(5) not null,
18 | is_nonconcurrent varchar(5) not null,
19 | is_update_data varchar(5) not null,
20 | requests_recovery varchar(5) not null,
21 | job_data long varbinary,
22 | primary key (sched_name,job_name,job_group)
23 | );
24 |
25 | create table qrtz_triggers(
26 | sched_name varchar(120) not null,
27 | trigger_name varchar(200) not null,
28 | trigger_group varchar(200) not null,
29 | job_name varchar(200) not null,
30 | job_group varchar(200) not null,
31 | description varchar(250) ,
32 | next_fire_time longint,
33 | prev_fire_time longint,
34 | priority integer,
35 | trigger_state varchar(16) not null,
36 | trigger_type varchar(8) not null,
37 | start_time longint not null,
38 | end_time longint,
39 | calendar_name varchar(200),
40 | misfire_instr smallint,
41 | job_data long varbinary,
42 | primary key (sched_name,trigger_name,trigger_group),
43 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
44 | );
45 |
46 | create table qrtz_simple_triggers(
47 | sched_name varchar(120) not null,
48 | trigger_name varchar(200) not null,
49 | trigger_group varchar(200) not null,
50 | repeat_count longint not null,
51 | repeat_interval longint not null,
52 | times_triggered longint not null,
53 | primary key (sched_name,trigger_name,trigger_group),
54 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
55 | );
56 |
57 | create table qrtz_cron_triggers(
58 | sched_name varchar(120) not null,
59 | trigger_name varchar(200) not null,
60 | trigger_group varchar(200) not null,
61 | cron_expression varchar(120) not null,
62 | time_zone_id varchar(80),
63 | primary key (sched_name,trigger_name,trigger_group),
64 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
65 | );
66 |
67 | CREATE TABLE qrtz_simprop_triggers
68 | (
69 | sched_name varchar(120) not null,
70 | TRIGGER_NAME VARCHAR(200) NOT NULL,
71 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
72 | STR_PROP_1 VARCHAR(512) NULL,
73 | STR_PROP_2 VARCHAR(512) NULL,
74 | STR_PROP_3 VARCHAR(512) NULL,
75 | INT_PROP_1 INT NULL,
76 | INT_PROP_2 INT NULL,
77 | LONG_PROP_1 longint NULL,
78 | LONG_PROP_2 longint NULL,
79 | DEC_PROP_1 NUMERIC(13,4) NULL,
80 | DEC_PROP_2 NUMERIC(13,4) NULL,
81 | BOOL_PROP_1 varchar(5) NULL,
82 | BOOL_PROP_2 varchar(5) NULL,
83 | PRIMARY KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP),
84 | FOREIGN KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP)
85 | REFERENCES QRTZ_TRIGGERS(sched_name,TRIGGER_NAME,TRIGGER_GROUP)
86 | );
87 |
88 | create table qrtz_blob_triggers(
89 | sched_name varchar(120) not null,
90 | trigger_name varchar(200) not null,
91 | trigger_group varchar(200) not null,
92 | blob_data long varbinary ,
93 | primary key (sched_name,trigger_name,trigger_group),
94 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
95 | );
96 |
97 | create table qrtz_calendars(
98 | sched_name varchar(120) not null,
99 | calendar_name varchar(200) not null,
100 | calendar long varbinary not null,
101 | primary key (sched_name,calendar_name)
102 | );
103 |
104 | create table qrtz_paused_trigger_grps
105 | (
106 | sched_name varchar(120) not null,
107 | trigger_group varchar(200) not null,
108 | primary key (sched_name,trigger_group)
109 | );
110 |
111 | create table qrtz_fired_triggers(
112 | sched_name varchar(120) not null,
113 | entry_id varchar(95) not null,
114 | trigger_name varchar(200) not null,
115 | trigger_group varchar(200) not null,
116 | instance_name varchar(200) not null,
117 | fired_time longint not null,
118 | sched_time longint not null,
119 | priority integer not null,
120 | state varchar(16) not null,
121 | job_name varchar(200) null,
122 | job_group varchar(200) null,
123 | is_nonconcurrent varchar(5) null,
124 | requests_recovery varchar(5) null,
125 | primary key (sched_name,entry_id)
126 | );
127 |
128 | create table qrtz_scheduler_state
129 | (
130 | sched_name varchar(120) not null,
131 | instance_name varchar(200) not null,
132 | last_checkin_time longint not null,
133 | checkin_interval longint not null,
134 | primary key (sched_name,instance_name)
135 | );
136 |
137 | create table qrtz_locks
138 | (
139 | sched_name varchar(120) not null,
140 | lock_name varchar(40) not null,
141 | primary key (sched_name,lock_name)
142 | );
143 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_cubrid.sql:
--------------------------------------------------------------------------------
1 |
2 | -- Thanks to Timothy Anyona for this script
3 | -- CUBRID 8.4.1+
4 |
5 | -- In your Quartz properties file, you'll need to set
6 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.CUBRIDDelegate
7 |
8 |
9 | DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
10 | DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
11 | DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
12 | DROP TABLE IF EXISTS QRTZ_LOCKS;
13 | DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
14 | DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
15 | DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
16 | DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
17 | DROP TABLE IF EXISTS QRTZ_TRIGGERS;
18 | DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
19 | DROP TABLE IF EXISTS QRTZ_CALENDARS;
20 |
21 |
22 | CREATE TABLE QRTZ_JOB_DETAILS
23 | (
24 | SCHED_NAME VARCHAR(120) NOT NULL,
25 | JOB_NAME VARCHAR(200) NOT NULL,
26 | JOB_GROUP VARCHAR(200) NOT NULL,
27 | DESCRIPTION VARCHAR(250) NULL,
28 | JOB_CLASS_NAME VARCHAR(250) NOT NULL,
29 | IS_DURABLE BIT(1) NOT NULL,
30 | IS_NONCONCURRENT BIT(1) NOT NULL,
31 | IS_UPDATE_DATA BIT(1) NOT NULL,
32 | REQUESTS_RECOVERY BIT(1) NOT NULL,
33 | JOB_DATA BLOB NULL,
34 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
35 | );
36 |
37 | CREATE TABLE QRTZ_TRIGGERS
38 | (
39 | SCHED_NAME VARCHAR(120) NOT NULL,
40 | TRIGGER_NAME VARCHAR(200) NOT NULL,
41 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
42 | JOB_NAME VARCHAR(200) NOT NULL,
43 | JOB_GROUP VARCHAR(200) NOT NULL,
44 | DESCRIPTION VARCHAR(250) NULL,
45 | NEXT_FIRE_TIME BIGINT NULL,
46 | PREV_FIRE_TIME BIGINT NULL,
47 | PRIORITY INTEGER NULL,
48 | TRIGGER_STATE VARCHAR(16) NOT NULL,
49 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
50 | START_TIME BIGINT NOT NULL,
51 | END_TIME BIGINT NULL,
52 | CALENDAR_NAME VARCHAR(200) NULL,
53 | MISFIRE_INSTR SMALLINT NULL,
54 | JOB_DATA BLOB NULL,
55 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
56 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
57 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
58 | );
59 |
60 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS
61 | (
62 | SCHED_NAME VARCHAR(120) NOT NULL,
63 | TRIGGER_NAME VARCHAR(200) NOT NULL,
64 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
65 | REPEAT_COUNT BIGINT NOT NULL,
66 | REPEAT_INTERVAL BIGINT NOT NULL,
67 | TIMES_TRIGGERED BIGINT NOT NULL,
68 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
69 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
70 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
71 | );
72 |
73 | CREATE TABLE QRTZ_CRON_TRIGGERS
74 | (
75 | SCHED_NAME VARCHAR(120) NOT NULL,
76 | TRIGGER_NAME VARCHAR(200) NOT NULL,
77 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
78 | CRON_EXPRESSION VARCHAR(200) NOT NULL,
79 | TIME_ZONE_ID VARCHAR(80),
80 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
81 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
82 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
83 | );
84 |
85 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
86 | (
87 | SCHED_NAME VARCHAR(120) NOT NULL,
88 | TRIGGER_NAME VARCHAR(200) NOT NULL,
89 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
90 | STR_PROP_1 VARCHAR(512) NULL,
91 | STR_PROP_2 VARCHAR(512) NULL,
92 | STR_PROP_3 VARCHAR(512) NULL,
93 | INT_PROP_1 INT NULL,
94 | INT_PROP_2 INT NULL,
95 | LONG_PROP_1 BIGINT NULL,
96 | LONG_PROP_2 BIGINT NULL,
97 | DEC_PROP_1 NUMERIC(13,4) NULL,
98 | DEC_PROP_2 NUMERIC(13,4) NULL,
99 | BOOL_PROP_1 BIT(1) NULL,
100 | BOOL_PROP_2 BIT(1) NULL,
101 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
102 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
103 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
104 | );
105 |
106 | CREATE TABLE QRTZ_BLOB_TRIGGERS
107 | (
108 | SCHED_NAME VARCHAR(120) NOT NULL,
109 | TRIGGER_NAME VARCHAR(200) NOT NULL,
110 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
111 | BLOB_DATA BLOB NULL,
112 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
113 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
114 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
115 | );
116 |
117 | CREATE TABLE QRTZ_CALENDARS
118 | (
119 | SCHED_NAME VARCHAR(120) NOT NULL,
120 | CALENDAR_NAME VARCHAR(200) NOT NULL,
121 | CALENDAR BLOB NULL,
122 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
123 | );
124 |
125 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
126 | (
127 | SCHED_NAME VARCHAR(120) NOT NULL,
128 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
129 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
130 | );
131 |
132 | CREATE TABLE QRTZ_FIRED_TRIGGERS
133 | (
134 | SCHED_NAME VARCHAR(120) NOT NULL,
135 | ENTRY_ID VARCHAR(95) NOT NULL,
136 | TRIGGER_NAME VARCHAR(200) NOT NULL,
137 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
138 | INSTANCE_NAME VARCHAR(200) NOT NULL,
139 | FIRED_TIME BIGINT NOT NULL,
140 | SCHED_TIME BIGINT NOT NULL,
141 | PRIORITY INTEGER NOT NULL,
142 | STATE VARCHAR(16) NOT NULL,
143 | JOB_NAME VARCHAR(200) NULL,
144 | JOB_GROUP VARCHAR(200) NULL,
145 | IS_NONCONCURRENT BIT(1) NULL,
146 | REQUESTS_RECOVERY BIT(1) NULL,
147 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
148 | );
149 |
150 | CREATE TABLE QRTZ_SCHEDULER_STATE
151 | (
152 | SCHED_NAME VARCHAR(120) NOT NULL,
153 | INSTANCE_NAME VARCHAR(200) NOT NULL,
154 | LAST_CHECKIN_TIME BIGINT NOT NULL,
155 | CHECKIN_INTERVAL BIGINT NOT NULL,
156 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
157 | );
158 |
159 | CREATE TABLE QRTZ_LOCKS
160 | (
161 | SCHED_NAME VARCHAR(120) NOT NULL,
162 | LOCK_NAME VARCHAR(40) NOT NULL,
163 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
164 | );
165 |
166 |
167 | CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
168 | CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
169 |
170 |
171 | CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
172 | CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
173 | CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
174 | CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
175 | CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
176 | CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
177 | CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
178 | CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
179 | CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
180 | CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
181 | CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
182 |
183 | CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
184 | CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
185 | CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
186 | CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
187 | CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
188 | CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
189 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_db2.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Thanks to Horia Muntean for submitting this....
3 | #
4 | # .. known to work with DB2 7.1 and the JDBC driver "COM.ibm.db2.jdbc.net.DB2Driver"
5 | # .. likely to work with others...
6 | #
7 | # In your Quartz properties file, you'll need to set
8 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
9 | #
10 | # If you're using DB2 6.x you'll want to set this property to
11 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v6Delegate
12 | #
13 | # Note that the blob column size (e.g. blob(2000)) dictates the amount of data that can be stored in
14 | # that blob - i.e. limits the amount of data you can put into your JobDataMap
15 | #
16 |
17 |
18 | create table qrtz_job_details (
19 | sched_name varchar(120) not null,
20 | job_name varchar(80) not null,
21 | job_group varchar(80) not null,
22 | description varchar(120) null,
23 | job_class_name varchar(128) not null,
24 | is_durable varchar(1) not null,
25 | is_nonconcurrent varchar(1) not null,
26 | is_update_data varchar(1) not null,
27 | requests_recovery varchar(1) not null,
28 | job_data blob(2000),
29 | primary key (sched_name,job_name,job_group)
30 | )
31 |
32 | create table qrtz_triggers(
33 | sched_name varchar(120) not null,
34 | trigger_name varchar(80) not null,
35 | trigger_group varchar(80) not null,
36 | job_name varchar(80) not null,
37 | job_group varchar(80) not null,
38 | description varchar(120) null,
39 | next_fire_time bigint,
40 | prev_fire_time bigint,
41 | priority integer,
42 | trigger_state varchar(16) not null,
43 | trigger_type varchar(8) not null,
44 | start_time bigint not null,
45 | end_time bigint,
46 | calendar_name varchar(80),
47 | misfire_instr smallint,
48 | job_data blob(2000),
49 | primary key (sched_name,trigger_name,trigger_group),
50 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
51 | )
52 |
53 | create table qrtz_simple_triggers(
54 | sched_name varchar(120) not null,
55 | trigger_name varchar(80) not null,
56 | trigger_group varchar(80) not null,
57 | repeat_count bigint not null,
58 | repeat_interval bigint not null,
59 | times_triggered bigint not null,
60 | primary key (sched_name,trigger_name,trigger_group),
61 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
62 | )
63 |
64 | create table qrtz_cron_triggers(
65 | sched_name varchar(120) not null,
66 | trigger_name varchar(80) not null,
67 | trigger_group varchar(80) not null,
68 | cron_expression varchar(120) not null,
69 | time_zone_id varchar(80),
70 | primary key (sched_name,trigger_name,trigger_group),
71 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
72 | )
73 |
74 | CREATE TABLE qrtz_simprop_triggers
75 | (
76 | sched_name varchar(120) not null,
77 | TRIGGER_NAME VARCHAR(200) NOT NULL,
78 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
79 | STR_PROP_1 VARCHAR(512) NULL,
80 | STR_PROP_2 VARCHAR(512) NULL,
81 | STR_PROP_3 VARCHAR(512) NULL,
82 | INT_PROP_1 INT NULL,
83 | INT_PROP_2 INT NULL,
84 | LONG_PROP_1 BIGINT NULL,
85 | LONG_PROP_2 BIGINT NULL,
86 | DEC_PROP_1 NUMERIC(13,4) NULL,
87 | DEC_PROP_2 NUMERIC(13,4) NULL,
88 | BOOL_PROP_1 VARCHAR(1) NULL,
89 | BOOL_PROP_2 VARCHAR(1) NULL,
90 | PRIMARY KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP),
91 | FOREIGN KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP)
92 | REFERENCES QRTZ_TRIGGERS(sched_name,TRIGGER_NAME,TRIGGER_GROUP)
93 | )
94 |
95 | create table qrtz_blob_triggers(
96 | sched_name varchar(120) not null,
97 | trigger_name varchar(80) not null,
98 | trigger_group varchar(80) not null,
99 | blob_data blob(2000) null,
100 | primary key (sched_name,trigger_name,trigger_group),
101 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
102 | )
103 |
104 | create table qrtz_calendars(
105 | sched_name varchar(120) not null,
106 | calendar_name varchar(80) not null,
107 | calendar blob(2000) not null,
108 | primary key (sched_name,calendar_name)
109 | )
110 |
111 | create table qrtz_fired_triggers(
112 | sched_name varchar(120) not null,
113 | entry_id varchar(95) not null,
114 | trigger_name varchar(80) not null,
115 | trigger_group varchar(80) not null,
116 | instance_name varchar(80) not null,
117 | fired_time bigint not null,
118 | sched_time bigint not null,
119 | priority integer not null,
120 | state varchar(16) not null,
121 | job_name varchar(80) null,
122 | job_group varchar(80) null,
123 | is_nonconcurrent varchar(1) null,
124 | requests_recovery varchar(1) null,
125 | primary key (sched_name,entry_id)
126 | );
127 |
128 |
129 | create table qrtz_paused_trigger_grps(
130 | sched_name varchar(120) not null,
131 | trigger_group varchar(80) not null,
132 | primary key (sched_name,trigger_group)
133 | );
134 |
135 | create table qrtz_scheduler_state (
136 | sched_name varchar(120) not null,
137 | instance_name varchar(80) not null,
138 | last_checkin_time bigint not null,
139 | checkin_interval bigint not null,
140 | primary key (sched_name,instance_name)
141 | );
142 |
143 | create table qrtz_locks
144 | (
145 | sched_name varchar(120) not null,
146 | lock_name varchar(40) not null,
147 | primary key (sched_name,lock_name)
148 | );
149 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_db2_v72.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- Thanks to Horia Muntean for submitting this, Mikkel Heisterberg for updating it
3 | --
4 | -- .. known to work with DB2 7.2 and the JDBC driver "COM.ibm.db2.jdbc.net.DB2Driver"
5 | -- .. likely to work with others...
6 | --
7 | -- In your Quartz properties file, you'll need to set
8 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v7Delegate
9 | --
10 | -- or
11 | --
12 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
13 | --
14 | -- If you're using DB2 6.x you'll want to set this property to
15 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.DB2v6Delegate
16 | --
17 | -- Note that the blob column size (e.g. blob(2000)) dictates the amount of data that can be stored in
18 | -- that blob - i.e. limits the amount of data you can put into your JobDataMap
19 | --
20 |
21 | DROP TABLE QRTZ_FIRED_TRIGGERS;
22 | DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
23 | DROP TABLE QRTZ_SCHEDULER_STATE;
24 | DROP TABLE QRTZ_LOCKS;
25 | DROP TABLE QRTZ_SIMPLE_TRIGGERS;
26 | DROP TABLE QRTZ_SIMPROP_TRIGGERS;
27 | DROP TABLE QRTZ_CRON_TRIGGERS;
28 | DROP TABLE QRTZ_TRIGGERS;
29 | DROP TABLE QRTZ_JOB_DETAILS;
30 | DROP TABLE QRTZ_CALENDARS;
31 | DROP TABLE QRTZ_BLOB_TRIGGERS;
32 |
33 | create table qrtz_job_details (
34 | sched_name varchar(120) not null,
35 | job_name varchar(80) not null,
36 | job_group varchar(80) not null,
37 | description varchar(120),
38 | job_class_name varchar(128) not null,
39 | is_durable varchar(1) not null,
40 | is_nonconcurrent varchar(1) not null,
41 | is_update_data varchar(1) not null,
42 | requests_recovery varchar(1) not null,
43 | job_data blob(2000),
44 | primary key (sched_name,job_name,job_group)
45 | );
46 |
47 | create table qrtz_triggers(
48 | sched_name varchar(120) not null,
49 | trigger_name varchar(80) not null,
50 | trigger_group varchar(80) not null,
51 | job_name varchar(80) not null,
52 | job_group varchar(80) not null,
53 | description varchar(120),
54 | next_fire_time bigint,
55 | prev_fire_time bigint,
56 | priority integer,
57 | trigger_state varchar(16) not null,
58 | trigger_type varchar(8) not null,
59 | start_time bigint not null,
60 | end_time bigint,
61 | calendar_name varchar(80),
62 | misfire_instr smallint,
63 | job_data blob(2000),
64 | primary key (sched_name,trigger_name,trigger_group),
65 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
66 | );
67 |
68 | create table qrtz_simple_triggers(
69 | sched_name varchar(120) not null,
70 | trigger_name varchar(80) not null,
71 | trigger_group varchar(80) not null,
72 | repeat_count bigint not null,
73 | repeat_interval bigint not null,
74 | times_triggered bigint not null,
75 | primary key (sched_name,trigger_name,trigger_group),
76 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
77 | );
78 |
79 | create table qrtz_cron_triggers(
80 | sched_name varchar(120) not null,
81 | trigger_name varchar(80) not null,
82 | trigger_group varchar(80) not null,
83 | cron_expression varchar(120) not null,
84 | time_zone_id varchar(80),
85 | primary key (sched_name,trigger_name,trigger_group),
86 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
87 | );
88 |
89 | CREATE TABLE qrtz_simprop_triggers
90 | (
91 | sched_name varchar(120) not null,
92 | TRIGGER_NAME VARCHAR(200) NOT NULL,
93 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
94 | STR_PROP_1 VARCHAR(512) NULL,
95 | STR_PROP_2 VARCHAR(512) NULL,
96 | STR_PROP_3 VARCHAR(512) NULL,
97 | INT_PROP_1 INT NULL,
98 | INT_PROP_2 INT NULL,
99 | LONG_PROP_1 BIGINT NULL,
100 | LONG_PROP_2 BIGINT NULL,
101 | DEC_PROP_1 NUMERIC(13,4) NULL,
102 | DEC_PROP_2 NUMERIC(13,4) NULL,
103 | BOOL_PROP_1 VARCHAR(1) NULL,
104 | BOOL_PROP_2 VARCHAR(1) NULL,
105 | PRIMARY KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP),
106 | FOREIGN KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP)
107 | REFERENCES QRTZ_TRIGGERS(sched_name,TRIGGER_NAME,TRIGGER_GROUP)
108 | );
109 |
110 | create table qrtz_blob_triggers(
111 | sched_name varchar(120) not null,
112 | trigger_name varchar(80) not null,
113 | trigger_group varchar(80) not null,
114 | blob_data blob(2000),
115 | primary key (sched_name,trigger_name,trigger_group),
116 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
117 | );
118 |
119 | create table qrtz_calendars(
120 | sched_name varchar(120) not null,
121 | calendar_name varchar(80) not null,
122 | calendar blob(2000) not null,
123 | primary key (sched_name,calendar_name)
124 | );
125 |
126 | create table qrtz_fired_triggers(
127 | sched_name varchar(120) not null,
128 | entry_id varchar(95) not null,
129 | trigger_name varchar(80) not null,
130 | trigger_group varchar(80) not null,
131 | instance_name varchar(80) not null,
132 | fired_time bigint not null,
133 | sched_time bigint not null,
134 | priority integer not null,
135 | state varchar(16) not null,
136 | job_name varchar(80),
137 | job_group varchar(80),
138 | is_nonconcurrent varchar(1),
139 | requests_recovery varchar(1),
140 | primary key (sched_name,entry_id)
141 | );
142 |
143 |
144 | create table qrtz_paused_trigger_grps(
145 | sched_name varchar(120) not null,
146 | trigger_group varchar(80) not null,
147 | primary key (sched_name,trigger_group)
148 | );
149 |
150 | create table qrtz_scheduler_state (
151 | sched_name varchar(120) not null,
152 | instance_name varchar(80) not null,
153 | last_checkin_time bigint not null,
154 | checkin_interval bigint not null,
155 | primary key (sched_name,instance_name)
156 | );
157 |
158 | create table qrtz_locks
159 | (
160 | sched_name varchar(120) not null,
161 | lock_name varchar(40) not null,
162 | primary key (sched_name,lock_name)
163 | );
164 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_db2_v8.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Updated by Claudiu Crisan (claudiu.crisan@schartner.net)
3 | # SQL scripts for DB2 ver 8.1
4 | #
5 | # Changes:
6 | # - "varchar(1)" replaced with "integer"
7 | # - "field_name varchar(xxx) not null" replaced with "field_name varchar(xxx)"
8 | #
9 |
10 |
11 | DROP TABLE QRTZ_FIRED_TRIGGERS;
12 | DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
13 | DROP TABLE QRTZ_SCHEDULER_STATE;
14 | DROP TABLE QRTZ_LOCKS;
15 | DROP TABLE QRTZ_SIMPLE_TRIGGERS;
16 | DROP TABLE QRTZ_SIMPROP_TRIGGERS;
17 | DROP TABLE QRTZ_CRON_TRIGGERS;
18 | DROP TABLE QRTZ_TRIGGERS;
19 | DROP TABLE QRTZ_JOB_DETAILS;
20 | DROP TABLE QRTZ_CALENDARS;
21 | DROP TABLE QRTZ_BLOB_TRIGGERS;
22 |
23 | create table qrtz_job_details(
24 | sched_name varchar(120) not null,
25 | job_name varchar(80) not null,
26 | job_group varchar(80) not null,
27 | description varchar(120),
28 | job_class_name varchar(128) not null,
29 | is_durable integer not null,
30 | is_nonconcurrent integer not null,
31 | is_update_data integer not null,
32 | requests_recovery integer not null,
33 | job_data blob(2000),
34 | primary key (sched_name,job_name,job_group)
35 | );
36 |
37 | create table qrtz_triggers(
38 | sched_name varchar(120) not null,
39 | trigger_name varchar(80) not null,
40 | trigger_group varchar(80) not null,
41 | job_name varchar(80) not null,
42 | job_group varchar(80) not null,
43 | description varchar(120),
44 | next_fire_time bigint,
45 | prev_fire_time bigint,
46 | priority integer,
47 | trigger_state varchar(16) not null,
48 | trigger_type varchar(8) not null,
49 | start_time bigint not null,
50 | end_time bigint,
51 | calendar_name varchar(80),
52 | misfire_instr smallint,
53 | job_data blob(2000),
54 | primary key (sched_name,trigger_name,trigger_group),
55 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
56 | );
57 |
58 | create table qrtz_simple_triggers(
59 | sched_name varchar(120) not null,
60 | trigger_name varchar(80) not null,
61 | trigger_group varchar(80) not null,
62 | repeat_count bigint not null,
63 | repeat_interval bigint not null,
64 | times_triggered bigint not null,
65 | primary key (sched_name,trigger_name,trigger_group),
66 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
67 | );
68 |
69 | create table qrtz_cron_triggers(
70 | sched_name varchar(120) not null,
71 | trigger_name varchar(80) not null,
72 | trigger_group varchar(80) not null,
73 | cron_expression varchar(120) not null,
74 | time_zone_id varchar(80),
75 | primary key (sched_name,trigger_name,trigger_group),
76 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
77 | );
78 |
79 | CREATE TABLE qrtz_simprop_triggers
80 | (
81 | sched_name varchar(120) not null,
82 | TRIGGER_NAME VARCHAR(200) NOT NULL,
83 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
84 | STR_PROP_1 VARCHAR(512) NULL,
85 | STR_PROP_2 VARCHAR(512) NULL,
86 | STR_PROP_3 VARCHAR(512) NULL,
87 | INT_PROP_1 INT NULL,
88 | INT_PROP_2 INT NULL,
89 | LONG_PROP_1 BIGINT NULL,
90 | LONG_PROP_2 BIGINT NULL,
91 | DEC_PROP_1 NUMERIC(13,4) NULL,
92 | DEC_PROP_2 NUMERIC(13,4) NULL,
93 | BOOL_PROP_1 VARCHAR(1) NULL,
94 | BOOL_PROP_2 VARCHAR(1) NULL,
95 | PRIMARY KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP),
96 | FOREIGN KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP)
97 | REFERENCES QRTZ_TRIGGERS(sched_name,TRIGGER_NAME,TRIGGER_GROUP)
98 | );
99 |
100 | create table qrtz_blob_triggers(
101 | sched_name varchar(120) not null,
102 | trigger_name varchar(80) not null,
103 | trigger_group varchar(80) not null,
104 | blob_data blob(2000),
105 | primary key (sched_name,trigger_name,trigger_group),
106 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
107 | );
108 |
109 | create table qrtz_calendars(
110 | sched_name varchar(120) not null,
111 | calendar_name varchar(80) not null,
112 | calendar blob(2000) not null,
113 | primary key (calendar_name)
114 | );
115 |
116 | create table qrtz_fired_triggers(
117 | sched_name varchar(120) not null,
118 | entry_id varchar(95) not null,
119 | trigger_name varchar(80) not null,
120 | trigger_group varchar(80) not null,
121 | instance_name varchar(80) not null,
122 | fired_time bigint not null,
123 | sched_time bigint not null,
124 | priority integer not null,
125 | state varchar(16) not null,
126 | job_name varchar(80),
127 | job_group varchar(80),
128 | is_nonconcurrent integer,
129 | requests_recovery integer,
130 | primary key (sched_name,entry_id)
131 | );
132 |
133 | create table qrtz_paused_trigger_grps(
134 | sched_name varchar(120) not null,
135 | trigger_group varchar(80) not null,
136 | primary key (sched_name,trigger_group)
137 | );
138 |
139 | create table qrtz_scheduler_state(
140 | sched_name varchar(120) not null,
141 | instance_name varchar(80) not null,
142 | last_checkin_time bigint not null,
143 | checkin_interval bigint not null,
144 | primary key (sched_name,instance_name)
145 | );
146 |
147 | create table qrtz_locks(
148 | sched_name varchar(120) not null,
149 | lock_name varchar(40) not null,
150 | primary key (sched_name,lock_name)
151 | );
152 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_db2_v95.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE QRTZ_FIRED_TRIGGERS;
2 | DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
3 | DROP TABLE QRTZ_SCHEDULER_STATE;
4 | DROP TABLE QRTZ_LOCKS;
5 | DROP TABLE QRTZ_SIMPLE_TRIGGERS;
6 | DROP TABLE QRTZ_SIMPROP_TRIGGERS;
7 | DROP TABLE QRTZ_CRON_TRIGGERS;
8 | DROP TABLE QRTZ_TRIGGERS;
9 | DROP TABLE QRTZ_JOB_DETAILS;
10 | DROP TABLE QRTZ_CALENDARS;
11 | DROP TABLE QRTZ_BLOB_TRIGGERS;
12 |
13 | create table qrtz_job_details(
14 | sched_name varchar(120) not null,
15 | job_name varchar(80) not null,
16 | job_group varchar(80) not null,
17 | description varchar(120),
18 | job_class_name varchar(128) not null,
19 | is_durable integer not null,
20 | is_nonconcurrent integer not null,
21 | is_update_data integer not null,
22 | requests_recovery integer not null,
23 | job_data blob(2000),
24 | primary key (sched_name,job_name,job_group)
25 | );
26 |
27 | create table qrtz_triggers(
28 | sched_name varchar(120) not null,
29 | trigger_name varchar(80) not null,
30 | trigger_group varchar(80) not null,
31 | job_name varchar(80) not null,
32 | job_group varchar(80) not null,
33 | description varchar(120),
34 | next_fire_time bigint,
35 | prev_fire_time bigint,
36 | priority integer,
37 | trigger_state varchar(16) not null,
38 | trigger_type varchar(8) not null,
39 | start_time bigint not null,
40 | end_time bigint,
41 | calendar_name varchar(80),
42 | misfire_instr smallint,
43 | job_data blob(2000),
44 | primary key (sched_name,trigger_name,trigger_group),
45 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
46 | );
47 |
48 | create table qrtz_simple_triggers(
49 | sched_name varchar(120) not null,
50 | trigger_name varchar(80) not null,
51 | trigger_group varchar(80) not null,
52 | repeat_count bigint not null,
53 | repeat_interval bigint not null,
54 | times_triggered bigint not null,
55 | primary key (sched_name,trigger_name,trigger_group),
56 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
57 | );
58 |
59 | create table qrtz_cron_triggers(
60 | sched_name varchar(120) not null,
61 | trigger_name varchar(80) not null,
62 | trigger_group varchar(80) not null,
63 | cron_expression varchar(120) not null,
64 | time_zone_id varchar(80),
65 | primary key (sched_name,trigger_name,trigger_group),
66 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
67 | );
68 |
69 | CREATE TABLE qrtz_simprop_triggers
70 | (
71 | sched_name varchar(120) not null,
72 | TRIGGER_NAME VARCHAR(200) NOT NULL,
73 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
74 | STR_PROP_1 VARCHAR(512),
75 | STR_PROP_2 VARCHAR(512),
76 | STR_PROP_3 VARCHAR(512),
77 | INT_PROP_1 INT,
78 | INT_PROP_2 INT,
79 | LONG_PROP_1 BIGINT,
80 | LONG_PROP_2 BIGINT,
81 | DEC_PROP_1 NUMERIC(13,4),
82 | DEC_PROP_2 NUMERIC(13,4),
83 | BOOL_PROP_1 VARCHAR(1),
84 | BOOL_PROP_2 VARCHAR(1),
85 | PRIMARY KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP),
86 | FOREIGN KEY (sched_name,TRIGGER_NAME,TRIGGER_GROUP)
87 | REFERENCES QRTZ_TRIGGERS(sched_name,TRIGGER_NAME,TRIGGER_GROUP)
88 | );
89 |
90 | create table qrtz_blob_triggers(
91 | sched_name varchar(120) not null,
92 | trigger_name varchar(80) not null,
93 | trigger_group varchar(80) not null,
94 | blob_data blob(2000),
95 | primary key (sched_name,trigger_name,trigger_group),
96 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
97 | );
98 |
99 | create table qrtz_calendars(
100 | sched_name varchar(120) not null,
101 | calendar_name varchar(80) not null,
102 | calendar blob(2000) not null,
103 | primary key (calendar_name)
104 | );
105 |
106 | create table qrtz_fired_triggers(
107 | sched_name varchar(120) not null,
108 | entry_id varchar(95) not null,
109 | trigger_name varchar(80) not null,
110 | trigger_group varchar(80) not null,
111 | instance_name varchar(80) not null,
112 | fired_time bigint not null,
113 | sched_time bigint not null,
114 | priority integer not null,
115 | state varchar(16) not null,
116 | job_name varchar(80),
117 | job_group varchar(80),
118 | is_nonconcurrent integer,
119 | requests_recovery integer,
120 | primary key (sched_name,entry_id)
121 | );
122 |
123 | create table qrtz_paused_trigger_grps(
124 | sched_name varchar(120) not null,
125 | trigger_group varchar(80) not null,
126 | primary key (sched_name,trigger_group)
127 | );
128 |
129 | create table qrtz_scheduler_state(
130 | sched_name varchar(120) not null,
131 | instance_name varchar(80) not null,
132 | last_checkin_time bigint not null,
133 | checkin_interval bigint not null,
134 | primary key (sched_name,instance_name)
135 | );
136 |
137 | create table qrtz_locks(
138 | sched_name varchar(120) not null,
139 | lock_name varchar(40) not null,
140 | primary key (sched_name,lock_name)
141 | );
142 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_derby.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- Apache Derby scripts by Steve Stewart, updated by Ronald Pomeroy
3 | -- Based on Srinivas Venkatarangaiah's file for Cloudscape
4 | --
5 | -- Known to work with Apache Derby 10.0.2.1, or 10.6.2.1
6 | --
7 | -- Updated by Zemian Deng on 08/21/2011
8 | -- * Fixed nullable fields on qrtz_simprop_triggers table.
9 | -- * Added Derby QuickStart comments and drop tables statements.
10 | --
11 | -- DerbyDB + Quartz Quick Guide:
12 | -- * Derby comes with Oracle JDK! For Java6, it default install into C:/Program Files/Sun/JavaDB on Windows.
13 | -- 1. Create a derby.properties file under JavaDB directory, and have the following:
14 | -- derby.connection.requireAuthentication = true
15 | -- derby.authentication.provider = BUILTIN
16 | -- derby.user.quartz2=quartz2123
17 | -- 2. Start the DB server by running bin/startNetworkServer script.
18 | -- 3. On a new terminal, run bin/ij tool to bring up an SQL prompt, then run:
19 | -- connect 'jdbc:derby://localhost:1527/quartz2;user=quartz2;password=quartz2123;create=true';
20 | -- run 'quartz/docs/dbTables/tables_derby.sql';
21 | -- Now in quartz.properties, you may use these properties:
22 | -- org.quartz.dataSource.quartzDataSource.driver = org.apache.derby.jdbc.ClientDriver
23 | -- org.quartz.dataSource.quartzDataSource.URL = jdbc:derby://localhost:1527/quartz2
24 | -- org.quartz.dataSource.quartzDataSource.user = quartz2
25 | -- org.quartz.dataSource.quartzDataSource.password = quartz2123
26 | --
27 |
28 | -- Auto drop and reset tables
29 | -- Derby doesn't support if exists condition on table drop, so user must manually do this step if needed to.
30 | -- drop table qrtz_fired_triggers;
31 | -- drop table qrtz_paused_trigger_grps;
32 | -- drop table qrtz_scheduler_state;
33 | -- drop table qrtz_locks;
34 | -- drop table qrtz_simple_triggers;
35 | -- drop table qrtz_simprop_triggers;
36 | -- drop table qrtz_cron_triggers;
37 | -- drop table qrtz_blob_triggers;
38 | -- drop table qrtz_triggers;
39 | -- drop table qrtz_job_details;
40 | -- drop table qrtz_calendars;
41 |
42 | create table qrtz_job_details (
43 | sched_name varchar(120) not null,
44 | job_name varchar(200) not null,
45 | job_group varchar(200) not null,
46 | description varchar(250) ,
47 | job_class_name varchar(250) not null,
48 | is_durable varchar(5) not null,
49 | is_nonconcurrent varchar(5) not null,
50 | is_update_data varchar(5) not null,
51 | requests_recovery varchar(5) not null,
52 | job_data blob,
53 | primary key (sched_name,job_name,job_group)
54 | );
55 |
56 | create table qrtz_triggers(
57 | sched_name varchar(120) not null,
58 | trigger_name varchar(200) not null,
59 | trigger_group varchar(200) not null,
60 | job_name varchar(200) not null,
61 | job_group varchar(200) not null,
62 | description varchar(250),
63 | next_fire_time bigint,
64 | prev_fire_time bigint,
65 | priority integer,
66 | trigger_state varchar(16) not null,
67 | trigger_type varchar(8) not null,
68 | start_time bigint not null,
69 | end_time bigint,
70 | calendar_name varchar(200),
71 | misfire_instr smallint,
72 | job_data blob,
73 | primary key (sched_name,trigger_name,trigger_group),
74 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
75 | );
76 |
77 | create table qrtz_simple_triggers(
78 | sched_name varchar(120) not null,
79 | trigger_name varchar(200) not null,
80 | trigger_group varchar(200) not null,
81 | repeat_count bigint not null,
82 | repeat_interval bigint not null,
83 | times_triggered bigint not null,
84 | primary key (sched_name,trigger_name,trigger_group),
85 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
86 | );
87 |
88 | create table qrtz_cron_triggers(
89 | sched_name varchar(120) not null,
90 | trigger_name varchar(200) not null,
91 | trigger_group varchar(200) not null,
92 | cron_expression varchar(120) not null,
93 | time_zone_id varchar(80),
94 | primary key (sched_name,trigger_name,trigger_group),
95 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
96 | );
97 |
98 | create table qrtz_simprop_triggers
99 | (
100 | sched_name varchar(120) not null,
101 | trigger_name varchar(200) not null,
102 | trigger_group varchar(200) not null,
103 | str_prop_1 varchar(512),
104 | str_prop_2 varchar(512),
105 | str_prop_3 varchar(512),
106 | int_prop_1 int,
107 | int_prop_2 int,
108 | long_prop_1 bigint,
109 | long_prop_2 bigint,
110 | dec_prop_1 numeric(13,4),
111 | dec_prop_2 numeric(13,4),
112 | bool_prop_1 varchar(5),
113 | bool_prop_2 varchar(5),
114 | primary key (sched_name,trigger_name,trigger_group),
115 | foreign key (sched_name,trigger_name,trigger_group)
116 | references qrtz_triggers(sched_name,trigger_name,trigger_group)
117 | );
118 |
119 | create table qrtz_blob_triggers(
120 | sched_name varchar(120) not null,
121 | trigger_name varchar(200) not null,
122 | trigger_group varchar(200) not null,
123 | blob_data blob,
124 | primary key (sched_name,trigger_name,trigger_group),
125 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
126 | );
127 |
128 | create table qrtz_calendars(
129 | sched_name varchar(120) not null,
130 | calendar_name varchar(200) not null,
131 | calendar blob not null,
132 | primary key (sched_name,calendar_name)
133 | );
134 |
135 | create table qrtz_paused_trigger_grps
136 | (
137 | sched_name varchar(120) not null,
138 | trigger_group varchar(200) not null,
139 | primary key (sched_name,trigger_group)
140 | );
141 |
142 | create table qrtz_fired_triggers(
143 | sched_name varchar(120) not null,
144 | entry_id varchar(95) not null,
145 | trigger_name varchar(200) not null,
146 | trigger_group varchar(200) not null,
147 | instance_name varchar(200) not null,
148 | fired_time bigint not null,
149 | sched_time bigint not null,
150 | priority integer not null,
151 | state varchar(16) not null,
152 | job_name varchar(200),
153 | job_group varchar(200),
154 | is_nonconcurrent varchar(5),
155 | requests_recovery varchar(5),
156 | primary key (sched_name,entry_id)
157 | );
158 |
159 | create table qrtz_scheduler_state
160 | (
161 | sched_name varchar(120) not null,
162 | instance_name varchar(200) not null,
163 | last_checkin_time bigint not null,
164 | checkin_interval bigint not null,
165 | primary key (sched_name,instance_name)
166 | );
167 |
168 | create table qrtz_locks
169 | (
170 | sched_name varchar(120) not null,
171 | lock_name varchar(40) not null,
172 | primary key (sched_name,lock_name)
173 | );
174 |
175 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_derby_previous.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- Apache Derby scripts by Steve Stewart.
3 | -- Based on Srinivas Venkatarangaiah's file for Cloudscape
4 | --
5 | -- In your Quartz properties file, you'll need to set
6 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.CloudscapeDelegate
7 | --
8 | -- Known to work with Apache Derby 10.0.2.1
9 | --
10 |
11 | create table qrtz_job_details (
12 | sched_name varchar(120) not null,
13 | job_name varchar(200) not null,
14 | job_group varchar(200) not null,
15 | description varchar(250) ,
16 | job_class_name varchar(250) not null,
17 | is_durable varchar(5) not null,
18 | is_nonconcurrent varchar(5) not null,
19 | is_update_data varchar(5) not null,
20 | requests_recovery varchar(5) not null,
21 | job_data blob,
22 | primary key (sched_name,job_name,job_group)
23 | );
24 |
25 | create table qrtz_triggers (
26 | sched_name varchar(120) not null,
27 | trigger_name varchar(200) not null,
28 | trigger_group varchar(200) not null,
29 | job_name varchar(200) not null,
30 | job_group varchar(200) not null,
31 | description varchar(250) ,
32 | next_fire_time bigint,
33 | prev_fire_time bigint,
34 | priority integer,
35 | trigger_state varchar(16) not null,
36 | trigger_type varchar(8) not null,
37 | start_time bigint not null,
38 | end_time bigint,
39 | calendar_name varchar(200),
40 | misfire_instr smallint,
41 | job_data blob,
42 | primary key (sched_name,trigger_name,trigger_group),
43 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
44 | );
45 |
46 | create table qrtz_simple_triggers (
47 | sched_name varchar(120) not null,
48 | trigger_name varchar(200) not null,
49 | trigger_group varchar(200) not null,
50 | repeat_count bigint not null,
51 | repeat_interval bigint not null,
52 | times_triggered bigint not null,
53 | primary key (sched_name,trigger_name,trigger_group),
54 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
55 | );
56 |
57 | create table qrtz_cron_triggers (
58 | sched_name varchar(120) not null,
59 | trigger_name varchar(200) not null,
60 | trigger_group varchar(200) not null,
61 | cron_expression varchar(120) not null,
62 | time_zone_id varchar(80),
63 | primary key (sched_name,trigger_name,trigger_group),
64 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
65 | );
66 |
67 | create table qrtz_simprop_triggers
68 | (
69 | sched_name varchar(120) not null,
70 | trigger_name varchar(200) not null,
71 | trigger_group varchar(200) not null,
72 | str_prop_1 varchar(512),
73 | str_prop_2 varchar(512),
74 | str_prop_3 varchar(512),
75 | int_prop_1 int,
76 | int_prop_2 int,
77 | long_prop_1 bigint,
78 | long_prop_2 bigint,
79 | dec_prop_1 numeric(13,4),
80 | dec_prop_2 numeric(13,4),
81 | bool_prop_1 varchar(5),
82 | bool_prop_2 varchar(5),
83 | primary key (sched_name,trigger_name,trigger_group),
84 | foreign key (sched_name,trigger_name,trigger_group)
85 | references qrtz_triggers(sched_name,trigger_name,trigger_group)
86 | );
87 |
88 | create table qrtz_blob_triggers (
89 | sched_name varchar(120) not null,
90 | trigger_name varchar(200) not null,
91 | trigger_group varchar(200) not null,
92 | blob_data blob ,
93 | primary key (sched_name,trigger_name,trigger_group),
94 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
95 | );
96 |
97 | create table qrtz_calendars (
98 | sched_name varchar(120) not null,
99 | calendar_name varchar(200) not null,
100 | calendar blob not null,
101 | primary key (sched_name,calendar_name)
102 | );
103 |
104 | create table qrtz_paused_trigger_grps (
105 | sched_name varchar(120) not null,
106 | trigger_group varchar(200) not null,
107 | primary key (sched_name,trigger_group)
108 | );
109 |
110 | create table qrtz_fired_triggers (
111 | sched_name varchar(120) not null,
112 | entry_id varchar(95) not null,
113 | trigger_name varchar(200) not null,
114 | trigger_group varchar(200) not null,
115 | instance_name varchar(200) not null,
116 | fired_time bigint not null,
117 | sched_time bigint not null,
118 | priority integer not null,
119 | state varchar(16) not null,
120 | job_name varchar(200),
121 | job_group varchar(200),
122 | is_nonconcurrent varchar(5),
123 | requests_recovery varchar(5),
124 | primary key (sched_name,entry_id)
125 | );
126 |
127 | create table qrtz_scheduler_state (
128 | sched_name varchar(120) not null,
129 | instance_name varchar(200) not null,
130 | last_checkin_time bigint not null,
131 | checkin_interval bigint not null,
132 | primary key (sched_name,instance_name)
133 | );
134 |
135 | create table qrtz_locks (
136 | sched_name varchar(120) not null,
137 | lock_name varchar(40) not null,
138 | primary key (sched_name,lock_name)
139 | );
140 |
141 | commit;
142 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_firebird.sql:
--------------------------------------------------------------------------------
1 |
2 | --
3 | -- Thanks to Leonardo Alves
4 | --
5 |
6 |
7 | DROP TABLE QRTZ_FIRED_TRIGGERS;
8 | DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
9 | DROP TABLE QRTZ_SCHEDULER_STATE;
10 | DROP TABLE QRTZ_LOCKS;
11 | DROP TABLE QRTZ_SIMPLE_TRIGGERS;
12 | DROP TABLE QRTZ_SIMPROP_TRIGGERS;
13 | DROP TABLE QRTZ_CRON_TRIGGERS;
14 | DROP TABLE QRTZ_BLOB_TRIGGERS;
15 | DROP TABLE QRTZ_TRIGGERS;
16 | DROP TABLE QRTZ_JOB_DETAILS;
17 | DROP TABLE QRTZ_CALENDARS;
18 |
19 |
20 | CREATE TABLE QRTZ_JOB_DETAILS (
21 | SCHED_NAME VARCHAR(120) NOT NULL,
22 | JOB_NAME VARCHAR(60) NOT NULL,
23 | JOB_GROUP VARCHAR(60) NOT NULL,
24 | DESCRIPTION VARCHAR(120),
25 | JOB_CLASS_NAME VARCHAR(128) NOT NULL,
26 | IS_DURABLE VARCHAR(1) NOT NULL,
27 | IS_NONCONCURRENT VARCHAR(1) NOT NULL,
28 | IS_UPDATE_DATA VARCHAR(1) NOT NULL,
29 | REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
30 | JOB_DATA BLOB,
31 | CONSTRAINT PK_QRTZ_JOB_DETAILS PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
32 | );
33 |
34 | CREATE TABLE QRTZ_TRIGGERS (
35 | SCHED_NAME VARCHAR(120) NOT NULL,
36 | TRIGGER_NAME VARCHAR(60) NOT NULL,
37 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
38 | JOB_NAME VARCHAR(60) NOT NULL,
39 | JOB_GROUP VARCHAR(60) NOT NULL,
40 | DESCRIPTION VARCHAR(120),
41 | NEXT_FIRE_TIME BIGINT,
42 | PREV_FIRE_TIME BIGINT,
43 | PRIORITY INTEGER,
44 | TRIGGER_STATE VARCHAR(16) NOT NULL,
45 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
46 | START_TIME BIGINT NOT NULL,
47 | END_TIME BIGINT,
48 | CALENDAR_NAME VARCHAR(60),
49 | MISFIRE_INSTR SMALLINT,
50 | JOB_DATA BLOB,
51 | CONSTRAINT PK_QRTZ_TRIGGERS PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
52 | CONSTRAINT FK_QRTZ_TRIGGERS_1 FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
53 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
54 | );
55 |
56 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
57 | SCHED_NAME VARCHAR(120) NOT NULL,
58 | TRIGGER_NAME VARCHAR(60) NOT NULL,
59 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
60 | REPEAT_COUNT BIGINT NOT NULL,
61 | REPEAT_INTERVAL BIGINT NOT NULL,
62 | TIMES_TRIGGERED BIGINT NOT NULL,
63 | CONSTRAINT PK_QRTZ_SIMPLE_TRIGGERS PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
64 | CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_1 FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
65 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
66 | );
67 |
68 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
69 | (
70 | SCHED_NAME VARCHAR(120) NOT NULL,
71 | TRIGGER_NAME VARCHAR(200) NOT NULL,
72 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
73 | STR_PROP_1 VARCHAR(512) NULL,
74 | STR_PROP_2 VARCHAR(512) NULL,
75 | STR_PROP_3 VARCHAR(512) NULL,
76 | INT_PROP_1 INT NULL,
77 | INT_PROP_2 INT NULL,
78 | LONG_PROP_1 BIGINT NULL,
79 | LONG_PROP_2 BIGINT NULL,
80 | DEC_PROP_1 NUMERIC(13,4) NULL,
81 | DEC_PROP_2 NUMERIC(13,4) NULL,
82 | BOOL_PROP_1 VARCHAR(1) NULL,
83 | BOOL_PROP_2 VARCHAR(1) NULL,
84 | CONSTRAINT PK_QRTZ_SIMPROP_TRIGGERS PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
85 | CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_1 FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
86 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
87 | );
88 |
89 | CREATE TABLE QRTZ_CRON_TRIGGERS (
90 | SCHED_NAME VARCHAR(120) NOT NULL,
91 | TRIGGER_NAME VARCHAR(60) NOT NULL,
92 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
93 | CRON_EXPRESSION VARCHAR(120) NOT NULL,
94 | TIME_ZONE_ID VARCHAR(60),
95 | CONSTRAINT PK_QRTZ_SIMPLE_TRG PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
96 | CONSTRAINT FK_QRTZ_SIMPLE_TRG_1 FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
97 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
98 | );
99 |
100 | CREATE TABLE QRTZ_BLOB_TRIGGERS (
101 | SCHED_NAME VARCHAR(120) NOT NULL,
102 | TRIGGER_NAME VARCHAR(60) NOT NULL,
103 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
104 | BLOB_DATA BLOB,
105 | CONSTRAINT PK_QRTZ_BLOB_TRIGGERS PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
106 | CONSTRAINT FK_QRTZ_BLOB_TRIGGERS_1 FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
107 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
108 | );
109 |
110 | CREATE TABLE QRTZ_CALENDARS (
111 | SCHED_NAME VARCHAR(120) NOT NULL,
112 | CALENDAR_NAME VARCHAR(60) NOT NULL,
113 | CALENDAR BLOB NOT NULL,
114 | CONSTRAINT PK_QRTZ_CALENDARS PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
115 | );
116 |
117 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
118 | SCHED_NAME VARCHAR(120) NOT NULL,
119 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
120 | CONSTRAINT PK_QRTZ_PAUSED_TRIGGER_GRPS PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
121 | );
122 |
123 | CREATE TABLE QRTZ_FIRED_TRIGGERS (
124 | SCHED_NAME VARCHAR(120) NOT NULL,
125 | ENTRY_ID VARCHAR(95) NOT NULL,
126 | TRIGGER_NAME VARCHAR(60) NOT NULL,
127 | TRIGGER_GROUP VARCHAR(60) NOT NULL,
128 | INSTANCE_NAME VARCHAR(80) NOT NULL,
129 | FIRED_TIME BIGINT NOT NULL,
130 | SCHED_TIME BIGINT NOT NULL,
131 | PRIORITY INTEGER NOT NULL,
132 | STATE VARCHAR(16) NOT NULL,
133 | JOB_NAME VARCHAR(60),
134 | JOB_GROUP VARCHAR(60),
135 | IS_NONCONCURRENT VARCHAR(1),
136 | REQUESTS_RECOVERY VARCHAR(1),
137 | CONSTRAINT PK_QRTZ_FIRED_TRIGGERS PRIMARY KEY (SCHED_NAME,ENTRY_ID)
138 | );
139 |
140 | CREATE TABLE QRTZ_SCHEDULER_STATE (
141 | SCHED_NAME VARCHAR(120) NOT NULL,
142 | INSTANCE_NAME VARCHAR(80) NOT NULL,
143 | LAST_CHECKIN_TIME BIGINT NOT NULL,
144 | CHECKIN_INTERVAL BIGINT NOT NULL,
145 | CONSTRAINT PK_QRTZ_SCHEDULER_STATE PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
146 | );
147 |
148 | CREATE TABLE QRTZ_LOCKS (
149 | SCHED_NAME VARCHAR(120) NOT NULL,
150 | LOCK_NAME VARCHAR(40) NOT NULL,
151 | CONSTRAINT PK_QRTZ_LOCKS PRIMARY KEY (SCHED_NAME,LOCK_NAME)
152 | );
153 |
154 | COMMIT;
155 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_h2.sql:
--------------------------------------------------------------------------------
1 | -- Thanks to Amir Kibbar and Peter Rietzler for contributing the schema for H2 database,
2 | -- and verifying that it works with Quartz's StdJDBCDelegate
3 | --
4 | -- Note, Quartz depends on row-level locking which means you must use the MVCC=TRUE
5 | -- setting on your H2 database, or you will experience dead-locks
6 | --
7 | --
8 | -- In your Quartz properties file, you'll need to set
9 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
10 |
11 | CREATE TABLE QRTZ_CALENDARS (
12 | SCHED_NAME VARCHAR(120) NOT NULL,
13 | CALENDAR_NAME VARCHAR (200) NOT NULL ,
14 | CALENDAR IMAGE NOT NULL
15 | );
16 |
17 | CREATE TABLE QRTZ_CRON_TRIGGERS (
18 | SCHED_NAME VARCHAR(120) NOT NULL,
19 | TRIGGER_NAME VARCHAR (200) NOT NULL ,
20 | TRIGGER_GROUP VARCHAR (200) NOT NULL ,
21 | CRON_EXPRESSION VARCHAR (120) NOT NULL ,
22 | TIME_ZONE_ID VARCHAR (80)
23 | );
24 |
25 | CREATE TABLE QRTZ_FIRED_TRIGGERS (
26 | SCHED_NAME VARCHAR(120) NOT NULL,
27 | ENTRY_ID VARCHAR (95) NOT NULL ,
28 | TRIGGER_NAME VARCHAR (200) NOT NULL ,
29 | TRIGGER_GROUP VARCHAR (200) NOT NULL ,
30 | INSTANCE_NAME VARCHAR (200) NOT NULL ,
31 | FIRED_TIME BIGINT NOT NULL ,
32 | SCHED_TIME BIGINT NOT NULL ,
33 | PRIORITY INTEGER NOT NULL ,
34 | STATE VARCHAR (16) NOT NULL,
35 | JOB_NAME VARCHAR (200) NULL ,
36 | JOB_GROUP VARCHAR (200) NULL ,
37 | IS_NONCONCURRENT BOOLEAN NULL ,
38 | REQUESTS_RECOVERY BOOLEAN NULL
39 | );
40 |
41 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
42 | SCHED_NAME VARCHAR(120) NOT NULL,
43 | TRIGGER_GROUP VARCHAR (200) NOT NULL
44 | );
45 |
46 | CREATE TABLE QRTZ_SCHEDULER_STATE (
47 | SCHED_NAME VARCHAR(120) NOT NULL,
48 | INSTANCE_NAME VARCHAR (200) NOT NULL ,
49 | LAST_CHECKIN_TIME BIGINT NOT NULL ,
50 | CHECKIN_INTERVAL BIGINT NOT NULL
51 | );
52 |
53 | CREATE TABLE QRTZ_LOCKS (
54 | SCHED_NAME VARCHAR(120) NOT NULL,
55 | LOCK_NAME VARCHAR (40) NOT NULL
56 | );
57 |
58 | CREATE TABLE QRTZ_JOB_DETAILS (
59 | SCHED_NAME VARCHAR(120) NOT NULL,
60 | JOB_NAME VARCHAR (200) NOT NULL ,
61 | JOB_GROUP VARCHAR (200) NOT NULL ,
62 | DESCRIPTION VARCHAR (250) NULL ,
63 | JOB_CLASS_NAME VARCHAR (250) NOT NULL ,
64 | IS_DURABLE BOOLEAN NOT NULL ,
65 | IS_NONCONCURRENT BOOLEAN NOT NULL ,
66 | IS_UPDATE_DATA BOOLEAN NOT NULL ,
67 | REQUESTS_RECOVERY BOOLEAN NOT NULL ,
68 | JOB_DATA IMAGE NULL
69 | );
70 |
71 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
72 | SCHED_NAME VARCHAR(120) NOT NULL,
73 | TRIGGER_NAME VARCHAR (200) NOT NULL ,
74 | TRIGGER_GROUP VARCHAR (200) NOT NULL ,
75 | REPEAT_COUNT BIGINT NOT NULL ,
76 | REPEAT_INTERVAL BIGINT NOT NULL ,
77 | TIMES_TRIGGERED BIGINT NOT NULL
78 | );
79 |
80 | CREATE TABLE qrtz_simprop_triggers
81 | (
82 | SCHED_NAME VARCHAR(120) NOT NULL,
83 | TRIGGER_NAME VARCHAR(200) NOT NULL,
84 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
85 | STR_PROP_1 VARCHAR(512) NULL,
86 | STR_PROP_2 VARCHAR(512) NULL,
87 | STR_PROP_3 VARCHAR(512) NULL,
88 | INT_PROP_1 INTEGER NULL,
89 | INT_PROP_2 INTEGER NULL,
90 | LONG_PROP_1 BIGINT NULL,
91 | LONG_PROP_2 BIGINT NULL,
92 | DEC_PROP_1 NUMERIC(13,4) NULL,
93 | DEC_PROP_2 NUMERIC(13,4) NULL,
94 | BOOL_PROP_1 BOOLEAN NULL,
95 | BOOL_PROP_2 BOOLEAN NULL,
96 | );
97 |
98 | CREATE TABLE QRTZ_BLOB_TRIGGERS (
99 | SCHED_NAME VARCHAR(120) NOT NULL,
100 | TRIGGER_NAME VARCHAR (200) NOT NULL ,
101 | TRIGGER_GROUP VARCHAR (200) NOT NULL ,
102 | BLOB_DATA IMAGE NULL
103 | );
104 |
105 | CREATE TABLE QRTZ_TRIGGERS (
106 | SCHED_NAME VARCHAR(120) NOT NULL,
107 | TRIGGER_NAME VARCHAR (200) NOT NULL ,
108 | TRIGGER_GROUP VARCHAR (200) NOT NULL ,
109 | JOB_NAME VARCHAR (200) NOT NULL ,
110 | JOB_GROUP VARCHAR (200) NOT NULL ,
111 | DESCRIPTION VARCHAR (250) NULL ,
112 | NEXT_FIRE_TIME BIGINT NULL ,
113 | PREV_FIRE_TIME BIGINT NULL ,
114 | PRIORITY INTEGER NULL ,
115 | TRIGGER_STATE VARCHAR (16) NOT NULL ,
116 | TRIGGER_TYPE VARCHAR (8) NOT NULL ,
117 | START_TIME BIGINT NOT NULL ,
118 | END_TIME BIGINT NULL ,
119 | CALENDAR_NAME VARCHAR (200) NULL ,
120 | MISFIRE_INSTR SMALLINT NULL ,
121 | JOB_DATA IMAGE NULL
122 | );
123 |
124 | ALTER TABLE QRTZ_CALENDARS ADD
125 | CONSTRAINT PK_QRTZ_CALENDARS PRIMARY KEY
126 | (
127 | SCHED_NAME,
128 | CALENDAR_NAME
129 | );
130 |
131 | ALTER TABLE QRTZ_CRON_TRIGGERS ADD
132 | CONSTRAINT PK_QRTZ_CRON_TRIGGERS PRIMARY KEY
133 | (
134 | SCHED_NAME,
135 | TRIGGER_NAME,
136 | TRIGGER_GROUP
137 | );
138 |
139 | ALTER TABLE QRTZ_FIRED_TRIGGERS ADD
140 | CONSTRAINT PK_QRTZ_FIRED_TRIGGERS PRIMARY KEY
141 | (
142 | SCHED_NAME,
143 | ENTRY_ID
144 | );
145 |
146 | ALTER TABLE QRTZ_PAUSED_TRIGGER_GRPS ADD
147 | CONSTRAINT PK_QRTZ_PAUSED_TRIGGER_GRPS PRIMARY KEY
148 | (
149 | SCHED_NAME,
150 | TRIGGER_GROUP
151 | );
152 |
153 | ALTER TABLE QRTZ_SCHEDULER_STATE ADD
154 | CONSTRAINT PK_QRTZ_SCHEDULER_STATE PRIMARY KEY
155 | (
156 | SCHED_NAME,
157 | INSTANCE_NAME
158 | );
159 |
160 | ALTER TABLE QRTZ_LOCKS ADD
161 | CONSTRAINT PK_QRTZ_LOCKS PRIMARY KEY
162 | (
163 | SCHED_NAME,
164 | LOCK_NAME
165 | );
166 |
167 | ALTER TABLE QRTZ_JOB_DETAILS ADD
168 | CONSTRAINT PK_QRTZ_JOB_DETAILS PRIMARY KEY
169 | (
170 | SCHED_NAME,
171 | JOB_NAME,
172 | JOB_GROUP
173 | );
174 |
175 | ALTER TABLE QRTZ_SIMPLE_TRIGGERS ADD
176 | CONSTRAINT PK_QRTZ_SIMPLE_TRIGGERS PRIMARY KEY
177 | (
178 | SCHED_NAME,
179 | TRIGGER_NAME,
180 | TRIGGER_GROUP
181 | );
182 |
183 | ALTER TABLE QRTZ_SIMPROP_TRIGGERS ADD
184 | CONSTRAINT PK_QRTZ_SIMPROP_TRIGGERS PRIMARY KEY
185 | (
186 | SCHED_NAME,
187 | TRIGGER_NAME,
188 | TRIGGER_GROUP
189 | );
190 |
191 | ALTER TABLE QRTZ_TRIGGERS ADD
192 | CONSTRAINT PK_QRTZ_TRIGGERS PRIMARY KEY
193 | (
194 | SCHED_NAME,
195 | TRIGGER_NAME,
196 | TRIGGER_GROUP
197 | );
198 |
199 | ALTER TABLE QRTZ_CRON_TRIGGERS ADD
200 | CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS FOREIGN KEY
201 | (
202 | SCHED_NAME,
203 | TRIGGER_NAME,
204 | TRIGGER_GROUP
205 | ) REFERENCES QRTZ_TRIGGERS (
206 | SCHED_NAME,
207 | TRIGGER_NAME,
208 | TRIGGER_GROUP
209 | ) ON DELETE CASCADE;
210 |
211 |
212 | ALTER TABLE QRTZ_SIMPLE_TRIGGERS ADD
213 | CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS FOREIGN KEY
214 | (
215 | SCHED_NAME,
216 | TRIGGER_NAME,
217 | TRIGGER_GROUP
218 | ) REFERENCES QRTZ_TRIGGERS (
219 | SCHED_NAME,
220 | TRIGGER_NAME,
221 | TRIGGER_GROUP
222 | ) ON DELETE CASCADE;
223 |
224 | ALTER TABLE QRTZ_SIMPROP_TRIGGERS ADD
225 | CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS FOREIGN KEY
226 | (
227 | SCHED_NAME,
228 | TRIGGER_NAME,
229 | TRIGGER_GROUP
230 | ) REFERENCES QRTZ_TRIGGERS (
231 | SCHED_NAME,
232 | TRIGGER_NAME,
233 | TRIGGER_GROUP
234 | ) ON DELETE CASCADE;
235 |
236 |
237 | ALTER TABLE QRTZ_TRIGGERS ADD
238 | CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS FOREIGN KEY
239 | (
240 | SCHED_NAME,
241 | JOB_NAME,
242 | JOB_GROUP
243 | ) REFERENCES QRTZ_JOB_DETAILS (
244 | SCHED_NAME,
245 | JOB_NAME,
246 | JOB_GROUP
247 | );
248 |
249 | COMMIT;
250 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_hsqldb.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- In your Quartz properties file, you'll need to set
3 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate
4 | --
5 |
6 | DROP TABLE qrtz_locks IF EXISTS;
7 | DROP TABLE qrtz_scheduler_state IF EXISTS;
8 | DROP TABLE qrtz_fired_triggers IF EXISTS;
9 | DROP TABLE qrtz_paused_trigger_grps IF EXISTS;
10 | DROP TABLE qrtz_calendars IF EXISTS;
11 | DROP TABLE qrtz_blob_triggers IF EXISTS;
12 | DROP TABLE qrtz_cron_triggers IF EXISTS;
13 | DROP TABLE qrtz_simple_triggers IF EXISTS;
14 | DROP TABLE qrtz_simprop_triggers IF EXISTS;
15 | DROP TABLE qrtz_triggers IF EXISTS;
16 | DROP TABLE qrtz_job_details IF EXISTS;
17 |
18 | CREATE TABLE qrtz_job_details
19 | (
20 | SCHED_NAME VARCHAR(120) NOT NULL,
21 | JOB_NAME VARCHAR(200) NOT NULL,
22 | JOB_GROUP VARCHAR(200) NOT NULL,
23 | DESCRIPTION VARCHAR(250) NULL,
24 | JOB_CLASS_NAME VARCHAR(250) NOT NULL,
25 | IS_DURABLE BOOLEAN NOT NULL,
26 | IS_NONCONCURRENT BOOLEAN NOT NULL,
27 | IS_UPDATE_DATA BOOLEAN NOT NULL,
28 | REQUESTS_RECOVERY BOOLEAN NOT NULL,
29 | JOB_DATA BINARY NULL,
30 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
31 | );
32 |
33 | CREATE TABLE qrtz_triggers
34 | (
35 | SCHED_NAME VARCHAR(120) NOT NULL,
36 | TRIGGER_NAME VARCHAR(200) NOT NULL,
37 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
38 | JOB_NAME VARCHAR(200) NOT NULL,
39 | JOB_GROUP VARCHAR(200) NOT NULL,
40 | DESCRIPTION VARCHAR(250) NULL,
41 | NEXT_FIRE_TIME NUMERIC(13) NULL,
42 | PREV_FIRE_TIME NUMERIC(13) NULL,
43 | PRIORITY INTEGER NULL,
44 | TRIGGER_STATE VARCHAR(16) NOT NULL,
45 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
46 | START_TIME NUMERIC(13) NOT NULL,
47 | END_TIME NUMERIC(13) NULL,
48 | CALENDAR_NAME VARCHAR(200) NULL,
49 | MISFIRE_INSTR NUMERIC(2) NULL,
50 | JOB_DATA BINARY NULL,
51 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
52 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
53 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
54 | );
55 |
56 | CREATE TABLE qrtz_simple_triggers
57 | (
58 | SCHED_NAME VARCHAR(120) NOT NULL,
59 | TRIGGER_NAME VARCHAR(200) NOT NULL,
60 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
61 | REPEAT_COUNT NUMERIC(7) NOT NULL,
62 | REPEAT_INTERVAL NUMERIC(12) NOT NULL,
63 | TIMES_TRIGGERED NUMERIC(10) NOT NULL,
64 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
65 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
66 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
67 | );
68 |
69 | CREATE TABLE qrtz_cron_triggers
70 | (
71 | SCHED_NAME VARCHAR(120) NOT NULL,
72 | TRIGGER_NAME VARCHAR(200) NOT NULL,
73 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
74 | CRON_EXPRESSION VARCHAR(120) NOT NULL,
75 | TIME_ZONE_ID VARCHAR(80),
76 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
77 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
78 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
79 | );
80 |
81 | CREATE TABLE qrtz_simprop_triggers
82 | (
83 | SCHED_NAME VARCHAR(120) NOT NULL,
84 | TRIGGER_NAME VARCHAR(200) NOT NULL,
85 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
86 | STR_PROP_1 VARCHAR(512) NULL,
87 | STR_PROP_2 VARCHAR(512) NULL,
88 | STR_PROP_3 VARCHAR(512) NULL,
89 | INT_PROP_1 NUMERIC(9) NULL,
90 | INT_PROP_2 NUMERIC(9) NULL,
91 | LONG_PROP_1 NUMERIC(13) NULL,
92 | LONG_PROP_2 NUMERIC(13) NULL,
93 | DEC_PROP_1 NUMERIC(13,4) NULL,
94 | DEC_PROP_2 NUMERIC(13,4) NULL,
95 | BOOL_PROP_1 BOOLEAN NULL,
96 | BOOL_PROP_2 BOOLEAN NULL,
97 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
98 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
99 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
100 | );
101 |
102 | CREATE TABLE qrtz_blob_triggers
103 | (
104 | SCHED_NAME VARCHAR(120) NOT NULL,
105 | TRIGGER_NAME VARCHAR(200) NOT NULL,
106 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
107 | BLOB_DATA BINARY NULL,
108 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
109 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
110 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
111 | );
112 |
113 | CREATE TABLE qrtz_calendars
114 | (
115 | SCHED_NAME VARCHAR(120) NOT NULL,
116 | CALENDAR_NAME VARCHAR(200) NOT NULL,
117 | CALENDAR BINARY NOT NULL,
118 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
119 | );
120 |
121 | CREATE TABLE qrtz_paused_trigger_grps
122 | (
123 | SCHED_NAME VARCHAR(120) NOT NULL,
124 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
125 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
126 | );
127 |
128 | CREATE TABLE qrtz_fired_triggers
129 | (
130 | SCHED_NAME VARCHAR(120) NOT NULL,
131 | ENTRY_ID VARCHAR(95) NOT NULL,
132 | TRIGGER_NAME VARCHAR(200) NOT NULL,
133 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
134 | INSTANCE_NAME VARCHAR(200) NOT NULL,
135 | FIRED_TIME NUMERIC(13) NOT NULL,
136 | SCHED_TIME NUMERIC(13) NOT NULL,
137 | PRIORITY INTEGER NOT NULL,
138 | STATE VARCHAR(16) NOT NULL,
139 | JOB_NAME VARCHAR(200) NULL,
140 | JOB_GROUP VARCHAR(200) NULL,
141 | IS_NONCONCURRENT BOOLEAN NULL,
142 | REQUESTS_RECOVERY BOOLEAN NULL,
143 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
144 | );
145 |
146 | CREATE TABLE qrtz_scheduler_state
147 | (
148 | SCHED_NAME VARCHAR(120) NOT NULL,
149 | INSTANCE_NAME VARCHAR(200) NOT NULL,
150 | LAST_CHECKIN_TIME NUMERIC(13) NOT NULL,
151 | CHECKIN_INTERVAL NUMERIC(13) NOT NULL,
152 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
153 | );
154 |
155 | CREATE TABLE qrtz_locks
156 | (
157 | SCHED_NAME VARCHAR(120) NOT NULL,
158 | LOCK_NAME VARCHAR(40) NOT NULL,
159 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
160 | );
161 |
162 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_hsqldb_old.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Thanks to Joseph Wilkicki for submitting this file's contents
3 | #
4 | # In your Quartz properties file, you'll need to set
5 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate
6 | #
7 | # Some users report the need to change the fields
8 | # with datatype "OTHER" to datatype "BINARY" with
9 | # particular versions (e.g. 1.7.1) of HSQLDB
10 | #
11 |
12 | CREATE TABLE qrtz_job_details
13 | (
14 | SCHED_NAME VARCHAR(120) NOT NULL,
15 | JOB_NAME LONGVARCHAR(80) NOT NULL,
16 | JOB_GROUP LONGVARCHAR(80) NOT NULL,
17 | DESCRIPTION LONGVARCHAR(120) NULL,
18 | JOB_CLASS_NAME LONGVARCHAR(128) NOT NULL,
19 | IS_DURABLE LONGVARCHAR(1) NOT NULL,
20 | IS_NONCONCURRENT LONGVARCHAR(1) NOT NULL,
21 | IS_UPDATE_DATA LONGVARCHAR(1) NOT NULL,
22 | REQUESTS_RECOVERY LONGVARCHAR(1) NOT NULL,
23 | JOB_DATA OTHER NULL,
24 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
25 | );
26 |
27 | CREATE TABLE qrtz_triggers
28 | (
29 | SCHED_NAME VARCHAR(120) NOT NULL,
30 | TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
31 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
32 | JOB_NAME LONGVARCHAR(80) NOT NULL,
33 | JOB_GROUP LONGVARCHAR(80) NOT NULL,
34 | DESCRIPTION LONGVARCHAR(120) NULL,
35 | NEXT_FIRE_TIME NUMERIC(13) NULL,
36 | PREV_FIRE_TIME NUMERIC(13) NULL,
37 | PRIORITY INTEGER NULL,
38 | TRIGGER_STATE LONGVARCHAR(16) NOT NULL,
39 | TRIGGER_TYPE LONGVARCHAR(8) NOT NULL,
40 | START_TIME NUMERIC(13) NOT NULL,
41 | END_TIME NUMERIC(13) NULL,
42 | CALENDAR_NAME LONGVARCHAR(80) NULL,
43 | MISFIRE_INSTR NUMERIC(2) NULL,
44 | JOB_DATA OTHER NULL,
45 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
46 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
47 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
48 | );
49 |
50 | CREATE TABLE qrtz_simple_triggers
51 | (
52 | SCHED_NAME VARCHAR(120) NOT NULL,
53 | TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
54 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
55 | REPEAT_COUNT NUMERIC(7) NOT NULL,
56 | REPEAT_INTERVAL NUMERIC(12) NOT NULL,
57 | TIMES_TRIGGERED NUMERIC(10) NOT NULL,
58 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
59 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
60 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
61 | );
62 |
63 | CREATE TABLE qrtz_cron_triggers
64 | (
65 | SCHED_NAME VARCHAR(120) NOT NULL,
66 | TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
67 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
68 | CRON_EXPRESSION LONGVARCHAR(120) NOT NULL,
69 | TIME_ZONE_ID LONGVARCHAR(80),
70 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
71 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
72 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
73 | );
74 |
75 | CREATE TABLE qrtz_simprop_triggers
76 | (
77 | SCHED_NAME VARCHAR(120) NOT NULL,
78 | TRIGGER_NAME LONGVARCHAR(200) NOT NULL,
79 | TRIGGER_GROUP LONGVARCHAR(200) NOT NULL,
80 | STR_PROP_1 LONGVARCHAR(512) NULL,
81 | STR_PROP_2 LONGVARCHAR(512) NULL,
82 | STR_PROP_3 LONGVARCHAR(512) NULL,
83 | INT_PROP_1 NUMERIC(9) NULL,
84 | INT_PROP_2 NUMERIC(9) NULL,
85 | LONG_PROP_1 NUMERIC(13) NULL,
86 | LONG_PROP_2 NUMERIC(13) NULL,
87 | DEC_PROP_1 NUMERIC(13,4) NULL,
88 | DEC_PROP_2 NUMERIC(13,4) NULL,
89 | BOOL_PROP_1 LONGVARCHAR(1) NULL,
90 | BOOL_PROP_2 LONGVARCHAR(1) NULL,
91 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
92 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
93 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
94 | );
95 |
96 | CREATE TABLE qrtz_blob_triggers
97 | (
98 | SCHED_NAME VARCHAR(120) NOT NULL,
99 | TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
100 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
101 | BLOB_DATA OTHER NULL,
102 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
103 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
104 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
105 | );
106 |
107 | CREATE TABLE qrtz_calendars
108 | (
109 | SCHED_NAME VARCHAR(120) NOT NULL,
110 | CALENDAR_NAME LONGVARCHAR(80) NOT NULL,
111 | CALENDAR OTHER NOT NULL,
112 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
113 | );
114 |
115 | CREATE TABLE qrtz_paused_trigger_grps
116 | (
117 | SCHED_NAME VARCHAR(120) NOT NULL,
118 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
119 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
120 | );
121 |
122 | CREATE TABLE qrtz_fired_triggers
123 | (
124 | SCHED_NAME VARCHAR(120) NOT NULL,
125 | ENTRY_ID LONGVARCHAR(95) NOT NULL,
126 | TRIGGER_NAME LONGVARCHAR(80) NOT NULL,
127 | TRIGGER_GROUP LONGVARCHAR(80) NOT NULL,
128 | INSTANCE_NAME LONGVARCHAR(80) NOT NULL,
129 | FIRED_TIME NUMERIC(13) NOT NULL,
130 | SCHED_TIME NUMERIC(13) NOT NULL,
131 | PRIORITY INTEGER NOT NULL,
132 | STATE LONGVARCHAR(16) NOT NULL,
133 | JOB_NAME LONGVARCHAR(80) NULL,
134 | JOB_GROUP LONGVARCHAR(80) NULL,
135 | IS_NONCONCURRENT LONGVARCHAR(1) NULL,
136 | REQUESTS_RECOVERY LONGVARCHAR(1) NULL,
137 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
138 | );
139 |
140 | CREATE TABLE qrtz_scheduler_state
141 | (
142 | SCHED_NAME VARCHAR(120) NOT NULL,
143 | INSTANCE_NAME LONGVARCHAR(80) NOT NULL,
144 | LAST_CHECKIN_TIME NUMERIC(13) NOT NULL,
145 | CHECKIN_INTERVAL NUMERIC(13) NOT NULL,
146 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
147 | );
148 |
149 | CREATE TABLE qrtz_locks
150 | (
151 | SCHED_NAME VARCHAR(120) NOT NULL,
152 | LOCK_NAME LONGVARCHAR(40) NOT NULL,
153 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
154 | );
155 |
156 | commit;
157 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_informix.sql:
--------------------------------------------------------------------------------
1 | { }
2 | { Thanks to Keith Chew for submitting this. }
3 | { }
4 | { use the StdJDBCDelegate with Informix. }
5 | { }
6 | { note that Informix has a 18 cahracter limit on the table name, so the prefix had to be shortened to "q" instread of "qrtz_" }
7 |
8 | CREATE TABLE qblob_triggers (
9 | SCHED_NAME VARCHAR(120) NOT NULL,
10 | TRIGGER_NAME varchar(80) NOT NULL,
11 | TRIGGER_GROUP varchar(80) NOT NULL,
12 | BLOB_DATA byte in table
13 | );
14 |
15 | ALTER TABLE qblob_triggers
16 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP);
17 |
18 |
19 | CREATE TABLE qcalendars (
20 | SCHED_NAME VARCHAR(120) NOT NULL,
21 | CALENDAR_NAME varchar(80) NOT NULL,
22 | CALENDAR byte in table NOT NULL
23 | );
24 |
25 | ALTER TABLE qcalendars
26 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,CALENDAR_NAME);
27 |
28 |
29 | CREATE TABLE qcron_triggers (
30 | SCHED_NAME VARCHAR(120) NOT NULL,
31 | TRIGGER_NAME varchar(80) NOT NULL,
32 | TRIGGER_GROUP varchar(80) NOT NULL,
33 | CRON_EXPRESSION varchar(120) NOT NULL,
34 | TIME_ZONE_ID varchar(80)
35 | );
36 |
37 | ALTER TABLE qcron_triggers
38 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP);
39 |
40 |
41 | CREATE TABLE qfired_triggers (
42 | SCHED_NAME VARCHAR(120) NOT NULL,
43 | ENTRY_ID varchar(95) NOT NULL,
44 | TRIGGER_NAME varchar(80) NOT NULL,
45 | TRIGGER_GROUP varchar(80) NOT NULL,
46 | INSTANCE_NAME varchar(80) NOT NULL,
47 | FIRED_TIME numeric(13) NOT NULL,
48 | SCHED_TIME numeric(13) NOT NULL,
49 | PRIORITY integer NOT NULL,
50 | STATE varchar(16) NOT NULL,
51 | JOB_NAME varchar(80),
52 | JOB_GROUP varchar(80),
53 | IS_NONCONCURRENT varchar(1),
54 | REQUESTS_RECOVERY varchar(1)
55 | );
56 |
57 | ALTER TABLE qfired_triggers
58 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,ENTRY_ID);
59 |
60 |
61 | CREATE TABLE qpaused_trigger_grps (
62 | SCHED_NAME VARCHAR(120) NOT NULL,
63 | TRIGGER_GROUP varchar(80) NOT NULL
64 | );
65 |
66 | ALTER TABLE qpaused_trigger_grps
67 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP);
68 |
69 |
70 | CREATE TABLE qscheduler_state (
71 | SCHED_NAME VARCHAR(120) NOT NULL,
72 | INSTANCE_NAME varchar(80) NOT NULL,
73 | LAST_CHECKIN_TIME numeric(13) NOT NULL,
74 | CHECKIN_INTERVAL numeric(13) NOT NULL
75 | );
76 |
77 | ALTER TABLE qscheduler_state
78 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,INSTANCE_NAME);
79 |
80 |
81 | CREATE TABLE qlocks (
82 | SCHED_NAME VARCHAR(120) NOT NULL,
83 | LOCK_NAME varchar(40) NOT NULL
84 | );
85 |
86 | ALTER TABLE qlocks
87 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,LOCK_NAME);
88 |
89 |
90 | CREATE TABLE qjob_details (
91 | SCHED_NAME VARCHAR(120) NOT NULL,
92 | JOB_NAME varchar(80) NOT NULL,
93 | JOB_GROUP varchar(80) NOT NULL,
94 | DESCRIPTION varchar(120),
95 | JOB_CLASS_NAME varchar(128) NOT NULL,
96 | IS_DURABLE varchar(1) NOT NULL,
97 | IS_NONCONCURRENT varchar(1) NOT NULL,
98 | IS_UPDATE_DATA varchar(1) NOT NULL,
99 | REQUESTS_RECOVERY varchar(1) NOT NULL,
100 | JOB_DATA byte in table
101 | );
102 |
103 | ALTER TABLE qjob_details
104 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,JOB_NAME, JOB_GROUP);
105 |
106 |
107 | CREATE TABLE qsimple_triggers (
108 | SCHED_NAME VARCHAR(120) NOT NULL,
109 | TRIGGER_NAME varchar(80) NOT NULL,
110 | TRIGGER_GROUP varchar(80) NOT NULL,
111 | REPEAT_COUNT numeric(7) NOT NULL,
112 | REPEAT_INTERVAL numeric(12) NOT NULL,
113 | TIMES_TRIGGERED numeric(10) NOT NULL
114 | );
115 |
116 | ALTER TABLE qsimple_triggers
117 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP);
118 |
119 |
120 | CREATE TABLE qsimprop_triggers
121 | (
122 | SCHED_NAME VARCHAR(120) NOT NULL,
123 | TRIGGER_NAME VARCHAR(200) NOT NULL,
124 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
125 | STR_PROP_1 VARCHAR(512) NULL,
126 | STR_PROP_2 VARCHAR(512) NULL,
127 | STR_PROP_3 VARCHAR(512) NULL,
128 | INT_PROP_1 NUMERIC(9) NULL,
129 | INT_PROP_2 NUMERIC(9) NULL,
130 | LONG_PROP_1 NUMERIC(13) NULL,
131 | LONG_PROP_2 NUMERIC(13) NULL,
132 | DEC_PROP_1 NUMERIC(13,4) NULL,
133 | DEC_PROP_2 NUMERIC(13,4) NULL,
134 | BOOL_PROP_1 VARCHAR(1) NULL,
135 | BOOL_PROP_2 VARCHAR(1) NULL,
136 | );
137 |
138 | ALTER TABLE qsimprop_triggers
139 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP);
140 |
141 |
142 | CREATE TABLE qtriggers (
143 | SCHED_NAME VARCHAR(120) NOT NULL,
144 | TRIGGER_NAME varchar(80) NOT NULL,
145 | TRIGGER_GROUP varchar(80) NOT NULL,
146 | JOB_NAME varchar(80) NOT NULL,
147 | JOB_GROUP varchar(80) NOT NULL,
148 | DESCRIPTION varchar(120),
149 | NEXT_FIRE_TIME numeric(13),
150 | PREV_FIRE_TIME numeric(13),
151 | PRIORITY integer,
152 | TRIGGER_STATE varchar(16) NOT NULL,
153 | TRIGGER_TYPE varchar(8) NOT NULL,
154 | START_TIME numeric(13) NOT NULL,
155 | END_TIME numeric(13),
156 | CALENDAR_NAME varchar(80),
157 | MISFIRE_INSTR numeric(2),
158 | JOB_DATA byte in table
159 | );
160 |
161 | ALTER TABLE qtriggers
162 | ADD CONSTRAINT PRIMARY KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP);
163 |
164 |
165 | ALTER TABLE qblob_triggers
166 | ADD CONSTRAINT FOREIGN KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
167 | REFERENCES qtriggers;
168 |
169 |
170 | ALTER TABLE qcron_triggers
171 | ADD CONSTRAINT FOREIGN KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
172 | REFERENCES qtriggers;
173 |
174 |
175 | ALTER TABLE qsimple_triggers
176 | ADD CONSTRAINT FOREIGN KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
177 | REFERENCES qtriggers;
178 |
179 | ALTER TABLE qsimprop_triggers
180 | ADD CONSTRAINT FOREIGN KEY (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
181 | REFERENCES qtriggers;
182 |
183 | ALTER TABLE qtriggers
184 | ADD CONSTRAINT FOREIGN KEY (SCHED_NAME,JOB_NAME, JOB_GROUP)
185 | REFERENCES qjob_details;
186 |
187 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_mysql.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Quartz seems to work best with the driver mm.mysql-2.0.7-bin.jar
3 | #
4 | # PLEASE consider using mysql with innodb tables to avoid locking issues
5 | #
6 | # In your Quartz properties file, you'll need to set
7 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
8 | #
9 |
10 | DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
11 | DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
12 | DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
13 | DROP TABLE IF EXISTS QRTZ_LOCKS;
14 | DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
15 | DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
16 | DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
17 | DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
18 | DROP TABLE IF EXISTS QRTZ_TRIGGERS;
19 | DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
20 | DROP TABLE IF EXISTS QRTZ_CALENDARS;
21 |
22 |
23 | CREATE TABLE QRTZ_JOB_DETAILS
24 | (
25 | SCHED_NAME VARCHAR(120) NOT NULL,
26 | JOB_NAME VARCHAR(200) NOT NULL,
27 | JOB_GROUP VARCHAR(200) NOT NULL,
28 | DESCRIPTION VARCHAR(250) NULL,
29 | JOB_CLASS_NAME VARCHAR(250) NOT NULL,
30 | IS_DURABLE VARCHAR(1) NOT NULL,
31 | IS_NONCONCURRENT VARCHAR(1) NOT NULL,
32 | IS_UPDATE_DATA VARCHAR(1) NOT NULL,
33 | REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
34 | JOB_DATA BLOB NULL,
35 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
36 | );
37 |
38 | CREATE TABLE QRTZ_TRIGGERS
39 | (
40 | SCHED_NAME VARCHAR(120) NOT NULL,
41 | TRIGGER_NAME VARCHAR(200) NOT NULL,
42 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
43 | JOB_NAME VARCHAR(200) NOT NULL,
44 | JOB_GROUP VARCHAR(200) NOT NULL,
45 | DESCRIPTION VARCHAR(250) NULL,
46 | NEXT_FIRE_TIME BIGINT(13) NULL,
47 | PREV_FIRE_TIME BIGINT(13) NULL,
48 | PRIORITY INTEGER NULL,
49 | TRIGGER_STATE VARCHAR(16) NOT NULL,
50 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
51 | START_TIME BIGINT(13) NOT NULL,
52 | END_TIME BIGINT(13) NULL,
53 | CALENDAR_NAME VARCHAR(200) NULL,
54 | MISFIRE_INSTR SMALLINT(2) NULL,
55 | JOB_DATA BLOB NULL,
56 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
57 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
58 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
59 | );
60 |
61 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS
62 | (
63 | SCHED_NAME VARCHAR(120) NOT NULL,
64 | TRIGGER_NAME VARCHAR(200) NOT NULL,
65 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
66 | REPEAT_COUNT BIGINT(7) NOT NULL,
67 | REPEAT_INTERVAL BIGINT(12) NOT NULL,
68 | TIMES_TRIGGERED BIGINT(10) NOT NULL,
69 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
70 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
71 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
72 | );
73 |
74 | CREATE TABLE QRTZ_CRON_TRIGGERS
75 | (
76 | SCHED_NAME VARCHAR(120) NOT NULL,
77 | TRIGGER_NAME VARCHAR(200) NOT NULL,
78 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
79 | CRON_EXPRESSION VARCHAR(200) NOT NULL,
80 | TIME_ZONE_ID VARCHAR(80),
81 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
82 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
83 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
84 | );
85 |
86 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
87 | (
88 | SCHED_NAME VARCHAR(120) NOT NULL,
89 | TRIGGER_NAME VARCHAR(200) NOT NULL,
90 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
91 | STR_PROP_1 VARCHAR(512) NULL,
92 | STR_PROP_2 VARCHAR(512) NULL,
93 | STR_PROP_3 VARCHAR(512) NULL,
94 | INT_PROP_1 INT NULL,
95 | INT_PROP_2 INT NULL,
96 | LONG_PROP_1 BIGINT NULL,
97 | LONG_PROP_2 BIGINT NULL,
98 | DEC_PROP_1 NUMERIC(13,4) NULL,
99 | DEC_PROP_2 NUMERIC(13,4) NULL,
100 | BOOL_PROP_1 VARCHAR(1) NULL,
101 | BOOL_PROP_2 VARCHAR(1) NULL,
102 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
103 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
104 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
105 | );
106 |
107 | CREATE TABLE QRTZ_BLOB_TRIGGERS
108 | (
109 | SCHED_NAME VARCHAR(120) NOT NULL,
110 | TRIGGER_NAME VARCHAR(200) NOT NULL,
111 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
112 | BLOB_DATA BLOB NULL,
113 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
114 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
115 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
116 | );
117 |
118 | CREATE TABLE QRTZ_CALENDARS
119 | (
120 | SCHED_NAME VARCHAR(120) NOT NULL,
121 | CALENDAR_NAME VARCHAR(200) NOT NULL,
122 | CALENDAR BLOB NOT NULL,
123 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
124 | );
125 |
126 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
127 | (
128 | SCHED_NAME VARCHAR(120) NOT NULL,
129 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
130 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
131 | );
132 |
133 | CREATE TABLE QRTZ_FIRED_TRIGGERS
134 | (
135 | SCHED_NAME VARCHAR(120) NOT NULL,
136 | ENTRY_ID VARCHAR(95) NOT NULL,
137 | TRIGGER_NAME VARCHAR(200) NOT NULL,
138 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
139 | INSTANCE_NAME VARCHAR(200) NOT NULL,
140 | FIRED_TIME BIGINT(13) NOT NULL,
141 | SCHED_TIME BIGINT(13) NOT NULL,
142 | PRIORITY INTEGER NOT NULL,
143 | STATE VARCHAR(16) NOT NULL,
144 | JOB_NAME VARCHAR(200) NULL,
145 | JOB_GROUP VARCHAR(200) NULL,
146 | IS_NONCONCURRENT VARCHAR(1) NULL,
147 | REQUESTS_RECOVERY VARCHAR(1) NULL,
148 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
149 | );
150 |
151 | CREATE TABLE QRTZ_SCHEDULER_STATE
152 | (
153 | SCHED_NAME VARCHAR(120) NOT NULL,
154 | INSTANCE_NAME VARCHAR(200) NOT NULL,
155 | LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
156 | CHECKIN_INTERVAL BIGINT(13) NOT NULL,
157 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
158 | );
159 |
160 | CREATE TABLE QRTZ_LOCKS
161 | (
162 | SCHED_NAME VARCHAR(120) NOT NULL,
163 | LOCK_NAME VARCHAR(40) NOT NULL,
164 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
165 | );
166 |
167 |
168 | commit;
169 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_mysql_innodb.sql:
--------------------------------------------------------------------------------
1 | #
2 | # In your Quartz properties file, you'll need to set
3 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
4 | #
5 | #
6 | # By: Ron Cordell - roncordell
7 | # I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM.
8 |
9 | DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
10 | DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
11 | DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
12 | DROP TABLE IF EXISTS QRTZ_LOCKS;
13 | DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
14 | DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
15 | DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
16 | DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
17 | DROP TABLE IF EXISTS QRTZ_TRIGGERS;
18 | DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
19 | DROP TABLE IF EXISTS QRTZ_CALENDARS;
20 |
21 | CREATE TABLE QRTZ_JOB_DETAILS(
22 | SCHED_NAME VARCHAR(120) NOT NULL,
23 | JOB_NAME VARCHAR(200) NOT NULL,
24 | JOB_GROUP VARCHAR(200) NOT NULL,
25 | DESCRIPTION VARCHAR(250) NULL,
26 | JOB_CLASS_NAME VARCHAR(250) NOT NULL,
27 | IS_DURABLE VARCHAR(1) NOT NULL,
28 | IS_NONCONCURRENT VARCHAR(1) NOT NULL,
29 | IS_UPDATE_DATA VARCHAR(1) NOT NULL,
30 | REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
31 | JOB_DATA BLOB NULL,
32 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
33 | ENGINE=InnoDB;
34 |
35 | CREATE TABLE QRTZ_TRIGGERS (
36 | SCHED_NAME VARCHAR(120) NOT NULL,
37 | TRIGGER_NAME VARCHAR(200) NOT NULL,
38 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
39 | JOB_NAME VARCHAR(200) NOT NULL,
40 | JOB_GROUP VARCHAR(200) NOT NULL,
41 | DESCRIPTION VARCHAR(250) NULL,
42 | NEXT_FIRE_TIME BIGINT(13) NULL,
43 | PREV_FIRE_TIME BIGINT(13) NULL,
44 | PRIORITY INTEGER NULL,
45 | TRIGGER_STATE VARCHAR(16) NOT NULL,
46 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
47 | START_TIME BIGINT(13) NOT NULL,
48 | END_TIME BIGINT(13) NULL,
49 | CALENDAR_NAME VARCHAR(200) NULL,
50 | MISFIRE_INSTR SMALLINT(2) NULL,
51 | JOB_DATA BLOB NULL,
52 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
53 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
54 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
55 | ENGINE=InnoDB;
56 |
57 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
58 | SCHED_NAME VARCHAR(120) NOT NULL,
59 | TRIGGER_NAME VARCHAR(200) NOT NULL,
60 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
61 | REPEAT_COUNT BIGINT(7) NOT NULL,
62 | REPEAT_INTERVAL BIGINT(12) NOT NULL,
63 | TIMES_TRIGGERED BIGINT(10) NOT NULL,
64 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
65 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
66 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
67 | ENGINE=InnoDB;
68 |
69 | CREATE TABLE QRTZ_CRON_TRIGGERS (
70 | SCHED_NAME VARCHAR(120) NOT NULL,
71 | TRIGGER_NAME VARCHAR(200) NOT NULL,
72 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
73 | CRON_EXPRESSION VARCHAR(120) NOT NULL,
74 | TIME_ZONE_ID VARCHAR(80),
75 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
76 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
77 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
78 | ENGINE=InnoDB;
79 |
80 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
81 | (
82 | SCHED_NAME VARCHAR(120) NOT NULL,
83 | TRIGGER_NAME VARCHAR(200) NOT NULL,
84 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
85 | STR_PROP_1 VARCHAR(512) NULL,
86 | STR_PROP_2 VARCHAR(512) NULL,
87 | STR_PROP_3 VARCHAR(512) NULL,
88 | INT_PROP_1 INT NULL,
89 | INT_PROP_2 INT NULL,
90 | LONG_PROP_1 BIGINT NULL,
91 | LONG_PROP_2 BIGINT NULL,
92 | DEC_PROP_1 NUMERIC(13,4) NULL,
93 | DEC_PROP_2 NUMERIC(13,4) NULL,
94 | BOOL_PROP_1 VARCHAR(1) NULL,
95 | BOOL_PROP_2 VARCHAR(1) NULL,
96 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
97 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
98 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
99 | ENGINE=InnoDB;
100 |
101 | CREATE TABLE QRTZ_BLOB_TRIGGERS (
102 | SCHED_NAME VARCHAR(120) NOT NULL,
103 | TRIGGER_NAME VARCHAR(200) NOT NULL,
104 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
105 | BLOB_DATA BLOB NULL,
106 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
107 | INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
108 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
109 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
110 | ENGINE=InnoDB;
111 |
112 | CREATE TABLE QRTZ_CALENDARS (
113 | SCHED_NAME VARCHAR(120) NOT NULL,
114 | CALENDAR_NAME VARCHAR(200) NOT NULL,
115 | CALENDAR BLOB NOT NULL,
116 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
117 | ENGINE=InnoDB;
118 |
119 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
120 | SCHED_NAME VARCHAR(120) NOT NULL,
121 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
122 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
123 | ENGINE=InnoDB;
124 |
125 | CREATE TABLE QRTZ_FIRED_TRIGGERS (
126 | SCHED_NAME VARCHAR(120) NOT NULL,
127 | ENTRY_ID VARCHAR(95) NOT NULL,
128 | TRIGGER_NAME VARCHAR(200) NOT NULL,
129 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
130 | INSTANCE_NAME VARCHAR(200) NOT NULL,
131 | FIRED_TIME BIGINT(13) NOT NULL,
132 | SCHED_TIME BIGINT(13) NOT NULL,
133 | PRIORITY INTEGER NOT NULL,
134 | STATE VARCHAR(16) NOT NULL,
135 | JOB_NAME VARCHAR(200) NULL,
136 | JOB_GROUP VARCHAR(200) NULL,
137 | IS_NONCONCURRENT VARCHAR(1) NULL,
138 | REQUESTS_RECOVERY VARCHAR(1) NULL,
139 | PRIMARY KEY (SCHED_NAME,ENTRY_ID))
140 | ENGINE=InnoDB;
141 |
142 | CREATE TABLE QRTZ_SCHEDULER_STATE (
143 | SCHED_NAME VARCHAR(120) NOT NULL,
144 | INSTANCE_NAME VARCHAR(200) NOT NULL,
145 | LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
146 | CHECKIN_INTERVAL BIGINT(13) NOT NULL,
147 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
148 | ENGINE=InnoDB;
149 |
150 | CREATE TABLE QRTZ_LOCKS (
151 | SCHED_NAME VARCHAR(120) NOT NULL,
152 | LOCK_NAME VARCHAR(40) NOT NULL,
153 | PRIMARY KEY (SCHED_NAME,LOCK_NAME))
154 | ENGINE=InnoDB;
155 |
156 | CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
157 | CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
158 |
159 | CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
160 | CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
161 | CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
162 | CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
163 | CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
164 | CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
165 | CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
166 | CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
167 | CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
168 | CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
169 | CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
170 | CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
171 |
172 | CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
173 | CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
174 | CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
175 | CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
176 | CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
177 | CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
178 |
179 | commit;
180 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_oracle.sql:
--------------------------------------------------------------------------------
1 | --
2 | -- A hint submitted by a user: Oracle DB MUST be created as "shared" and the
3 | -- job_queue_processes parameter must be greater than 2
4 | -- However, these settings are pretty much standard after any
5 | -- Oracle install, so most users need not worry about this.
6 | --
7 | -- Many other users (including the primary author of Quartz) have had success
8 | -- runing in dedicated mode, so only consider the above as a hint ;-)
9 | --
10 |
11 | delete from qrtz_fired_triggers;
12 | delete from qrtz_simple_triggers;
13 | delete from qrtz_simprop_triggers;
14 | delete from qrtz_cron_triggers;
15 | delete from qrtz_blob_triggers;
16 | delete from qrtz_triggers;
17 | delete from qrtz_job_details;
18 | delete from qrtz_calendars;
19 | delete from qrtz_paused_trigger_grps;
20 | delete from qrtz_locks;
21 | delete from qrtz_scheduler_state;
22 |
23 | drop table qrtz_calendars;
24 | drop table qrtz_fired_triggers;
25 | drop table qrtz_blob_triggers;
26 | drop table qrtz_cron_triggers;
27 | drop table qrtz_simple_triggers;
28 | drop table qrtz_simprop_triggers;
29 | drop table qrtz_triggers;
30 | drop table qrtz_job_details;
31 | drop table qrtz_paused_trigger_grps;
32 | drop table qrtz_locks;
33 | drop table qrtz_scheduler_state;
34 |
35 |
36 | CREATE TABLE qrtz_job_details
37 | (
38 | SCHED_NAME VARCHAR2(120) NOT NULL,
39 | JOB_NAME VARCHAR2(200) NOT NULL,
40 | JOB_GROUP VARCHAR2(200) NOT NULL,
41 | DESCRIPTION VARCHAR2(250) NULL,
42 | JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
43 | IS_DURABLE VARCHAR2(1) NOT NULL,
44 | IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
45 | IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
46 | REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
47 | JOB_DATA BLOB NULL,
48 | CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
49 | );
50 | CREATE TABLE qrtz_triggers
51 | (
52 | SCHED_NAME VARCHAR2(120) NOT NULL,
53 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
54 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
55 | JOB_NAME VARCHAR2(200) NOT NULL,
56 | JOB_GROUP VARCHAR2(200) NOT NULL,
57 | DESCRIPTION VARCHAR2(250) NULL,
58 | NEXT_FIRE_TIME NUMBER(13) NULL,
59 | PREV_FIRE_TIME NUMBER(13) NULL,
60 | PRIORITY NUMBER(13) NULL,
61 | TRIGGER_STATE VARCHAR2(16) NOT NULL,
62 | TRIGGER_TYPE VARCHAR2(8) NOT NULL,
63 | START_TIME NUMBER(13) NOT NULL,
64 | END_TIME NUMBER(13) NULL,
65 | CALENDAR_NAME VARCHAR2(200) NULL,
66 | MISFIRE_INSTR NUMBER(2) NULL,
67 | JOB_DATA BLOB NULL,
68 | CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
69 | CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
70 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
71 | );
72 | CREATE TABLE qrtz_simple_triggers
73 | (
74 | SCHED_NAME VARCHAR2(120) NOT NULL,
75 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
76 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
77 | REPEAT_COUNT NUMBER(7) NOT NULL,
78 | REPEAT_INTERVAL NUMBER(12) NOT NULL,
79 | TIMES_TRIGGERED NUMBER(10) NOT NULL,
80 | CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
81 | CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
82 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
83 | );
84 | CREATE TABLE qrtz_cron_triggers
85 | (
86 | SCHED_NAME VARCHAR2(120) NOT NULL,
87 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
88 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
89 | CRON_EXPRESSION VARCHAR2(120) NOT NULL,
90 | TIME_ZONE_ID VARCHAR2(80),
91 | CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
92 | CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
93 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
94 | );
95 | CREATE TABLE qrtz_simprop_triggers
96 | (
97 | SCHED_NAME VARCHAR2(120) NOT NULL,
98 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
99 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
100 | STR_PROP_1 VARCHAR2(512) NULL,
101 | STR_PROP_2 VARCHAR2(512) NULL,
102 | STR_PROP_3 VARCHAR2(512) NULL,
103 | INT_PROP_1 NUMBER(10) NULL,
104 | INT_PROP_2 NUMBER(10) NULL,
105 | LONG_PROP_1 NUMBER(13) NULL,
106 | LONG_PROP_2 NUMBER(13) NULL,
107 | DEC_PROP_1 NUMERIC(13,4) NULL,
108 | DEC_PROP_2 NUMERIC(13,4) NULL,
109 | BOOL_PROP_1 VARCHAR2(1) NULL,
110 | BOOL_PROP_2 VARCHAR2(1) NULL,
111 | CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
112 | CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
113 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
114 | );
115 | CREATE TABLE qrtz_blob_triggers
116 | (
117 | SCHED_NAME VARCHAR2(120) NOT NULL,
118 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
119 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
120 | BLOB_DATA BLOB NULL,
121 | CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
122 | CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
123 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
124 | );
125 | CREATE TABLE qrtz_calendars
126 | (
127 | SCHED_NAME VARCHAR2(120) NOT NULL,
128 | CALENDAR_NAME VARCHAR2(200) NOT NULL,
129 | CALENDAR BLOB NOT NULL,
130 | CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
131 | );
132 | CREATE TABLE qrtz_paused_trigger_grps
133 | (
134 | SCHED_NAME VARCHAR2(120) NOT NULL,
135 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
136 | CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
137 | );
138 | CREATE TABLE qrtz_fired_triggers
139 | (
140 | SCHED_NAME VARCHAR2(120) NOT NULL,
141 | ENTRY_ID VARCHAR2(95) NOT NULL,
142 | TRIGGER_NAME VARCHAR2(200) NOT NULL,
143 | TRIGGER_GROUP VARCHAR2(200) NOT NULL,
144 | INSTANCE_NAME VARCHAR2(200) NOT NULL,
145 | FIRED_TIME NUMBER(13) NOT NULL,
146 | SCHED_TIME NUMBER(13) NOT NULL,
147 | PRIORITY NUMBER(13) NOT NULL,
148 | STATE VARCHAR2(16) NOT NULL,
149 | JOB_NAME VARCHAR2(200) NULL,
150 | JOB_GROUP VARCHAR2(200) NULL,
151 | IS_NONCONCURRENT VARCHAR2(1) NULL,
152 | REQUESTS_RECOVERY VARCHAR2(1) NULL,
153 | CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
154 | );
155 | CREATE TABLE qrtz_scheduler_state
156 | (
157 | SCHED_NAME VARCHAR2(120) NOT NULL,
158 | INSTANCE_NAME VARCHAR2(200) NOT NULL,
159 | LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
160 | CHECKIN_INTERVAL NUMBER(13) NOT NULL,
161 | CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
162 | );
163 | CREATE TABLE qrtz_locks
164 | (
165 | SCHED_NAME VARCHAR2(120) NOT NULL,
166 | LOCK_NAME VARCHAR2(40) NOT NULL,
167 | CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
168 | );
169 |
170 | create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
171 | create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
172 |
173 | create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
174 | create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
175 | create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
176 | create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
177 | create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
178 | create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
179 | create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
180 | create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
181 | create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
182 | create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
183 | create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
184 | create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
185 |
186 | create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
187 | create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
188 | create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
189 | create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
190 | create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
191 | create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
192 |
193 |
194 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_pointbase.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Thanks to Gregg Freeman
3 | #
4 | #
5 | # ...you may want to change defined the size of the "blob" columns before
6 | # creating the tables (particularly for the qrtz_job_details.job_data column),
7 | # if you will be storing large amounts of data in them
8 | #
9 | #
10 | delete from qrtz_fired_triggers;
11 | delete from qrtz_simple_triggers;
12 | delete from qrtz_simprop_triggers;
13 | delete from qrtz_cron_triggers;
14 | delete from qrtz_blob_triggers;
15 | delete from qrtz_triggers;
16 | delete from qrtz_job_details;
17 | delete from qrtz_calendars;
18 | delete from qrtz_paused_trigger_grps;
19 | delete from qrtz_locks;
20 | delete from qrtz_scheduler_state;
21 |
22 | drop table qrtz_calendars;
23 | drop table qrtz_fired_triggers;
24 | drop table qrtz_blob_triggers;
25 | drop table qrtz_cron_triggers;
26 | drop table qrtz_simple_triggers;
27 | drop table qrtz_simprop_triggers;
28 | drop table qrtz_triggers;
29 | drop table qrtz_job_details;
30 | drop table qrtz_paused_trigger_grps;
31 | drop table qrtz_locks;
32 | drop table qrtz_scheduler_state;
33 |
34 |
35 | CREATE TABLE qrtz_job_details
36 | (
37 | SCHED_NAME VARCHAR(120) NOT NULL,
38 | JOB_NAME VARCHAR2(80) NOT NULL,
39 | JOB_GROUP VARCHAR2(80) NOT NULL,
40 | DESCRIPTION VARCHAR2(120) NULL,
41 | JOB_CLASS_NAME VARCHAR2(128) NOT NULL,
42 | IS_DURABLE BOOLEAN NOT NULL,
43 | IS_NONCONCURRENT BOOLEAN NOT NULL,
44 | IS_UPDATE_DATA BOOLEAN NOT NULL,
45 | REQUESTS_RECOVERY BOOLEAN NOT NULL,
46 | JOB_DATA BLOB(4K) NULL,
47 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
48 | );
49 |
50 | CREATE TABLE qrtz_triggers
51 | (
52 | SCHED_NAME VARCHAR(120) NOT NULL,
53 | TRIGGER_NAME VARCHAR2(80) NOT NULL,
54 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
55 | JOB_NAME VARCHAR2(80) NOT NULL,
56 | JOB_GROUP VARCHAR2(80) NOT NULL,
57 | DESCRIPTION VARCHAR2(120) NULL,
58 | NEXT_FIRE_TIME NUMBER(13) NULL,
59 | PREV_FIRE_TIME NUMBER(13) NULL,
60 | PRIORITY NUMBER(13) NULL,
61 | TRIGGER_STATE VARCHAR2(16) NOT NULL,
62 | TRIGGER_TYPE VARCHAR2(8) NOT NULL,
63 | START_TIME NUMBER(13) NOT NULL,
64 | END_TIME NUMBER(13) NULL,
65 | CALENDAR_NAME VARCHAR2(80) NULL,
66 | MISFIRE_INSTR NUMBER(2) NULL,
67 | JOB_DATA BLOB(4K) NULL,
68 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
69 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
70 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
71 | );
72 |
73 | CREATE TABLE qrtz_simple_triggers
74 | (
75 | SCHED_NAME VARCHAR(120) NOT NULL,
76 | TRIGGER_NAME VARCHAR2(80) NOT NULL,
77 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
78 | REPEAT_COUNT NUMBER(7) NOT NULL,
79 | REPEAT_INTERVAL NUMBER(12) NOT NULL,
80 | TIMES_TRIGGERED NUMBER(10) NOT NULL,
81 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
82 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
83 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
84 | );
85 |
86 |
87 | CREATE TABLE qrtz_simprop_triggers
88 | (
89 | SCHED_NAME VARCHAR(120) NOT NULL,
90 | TRIGGER_NAME VARCHAR(200) NOT NULL,
91 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
92 | STR_PROP_1 VARCHAR(512) NULL,
93 | STR_PROP_2 VARCHAR(512) NULL,
94 | STR_PROP_3 VARCHAR(512) NULL,
95 | INT_PROP_1 NUMBER(10) NULL,
96 | INT_PROP_2 NUMBER(10) NULL,
97 | LONG_PROP_1 NUMBER(13) NULL,
98 | LONG_PROP_2 NUMBER(13) NULL,
99 | DEC_PROP_1 NUMERIC(13,4) NULL,
100 | DEC_PROP_2 NUMERIC(13,4) NULL,
101 | BOOL_PROP_1 BOOLEAN NULL,
102 | BOOL_PROP_2 BOOLEAN NULL,
103 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
104 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
105 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
106 | );
107 |
108 | CREATE TABLE qrtz_cron_triggers
109 | (
110 | SCHED_NAME VARCHAR(120) NOT NULL,
111 | TRIGGER_NAME VARCHAR2(80) NOT NULL,
112 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
113 | CRON_EXPRESSION VARCHAR2(120) NOT NULL,
114 | TIME_ZONE_ID VARCHAR2(80),
115 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
116 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
117 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
118 | );
119 |
120 | CREATE TABLE qrtz_blob_triggers
121 | (
122 | SCHED_NAME VARCHAR(120) NOT NULL,
123 | TRIGGER_NAME VARCHAR2(80) NOT NULL,
124 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
125 | BLOB_DATA BLOB(4K) NULL,
126 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
127 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
128 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
129 | );
130 |
131 | CREATE TABLE qrtz_calendars
132 | (
133 | SCHED_NAME VARCHAR(120) NOT NULL,
134 | CALENDAR_NAME VARCHAR2(80) NOT NULL,
135 | CALENDAR BLOB(4K) NOT NULL,
136 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
137 | );
138 |
139 | CREATE TABLE qrtz_paused_trigger_grps
140 | (
141 | SCHED_NAME VARCHAR(120) NOT NULL,
142 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
143 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
144 | );
145 |
146 | CREATE TABLE qrtz_fired_triggers
147 | (
148 | SCHED_NAME VARCHAR(120) NOT NULL,
149 | ENTRY_ID VARCHAR2(95) NOT NULL,
150 | TRIGGER_NAME VARCHAR2(80) NOT NULL,
151 | TRIGGER_GROUP VARCHAR2(80) NOT NULL,
152 | INSTANCE_NAME VARCHAR2(80) NOT NULL,
153 | FIRED_TIME NUMBER(13) NOT NULL,
154 | SCHED_TIME NUMBER(13) NOT NULL,
155 | PRIORITY NUMBER(13) NOT NULL,
156 | STATE VARCHAR2(16) NOT NULL,
157 | JOB_NAME VARCHAR2(80) NULL,
158 | JOB_GROUP VARCHAR2(80) NULL,
159 | IS_NONCONCURRENT BOOLEAN NULL,
160 | REQUESTS_RECOVERY BOOLEAN NULL,
161 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
162 | );
163 |
164 | CREATE TABLE qrtz_scheduler_state
165 | (
166 | SCHED_NAME VARCHAR(120) NOT NULL,
167 | INSTANCE_NAME VARCHAR2(80) NOT NULL,
168 | LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
169 | CHECKIN_INTERVAL NUMBER(13) NOT NULL,
170 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
171 | );
172 |
173 | CREATE TABLE qrtz_locks
174 | (
175 | SCHED_NAME VARCHAR(120) NOT NULL,
176 | LOCK_NAME VARCHAR2(40) NOT NULL,
177 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
178 | );
179 |
180 | commit;
181 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_postgres.sql:
--------------------------------------------------------------------------------
1 | -- Thanks to Patrick Lightbody for submitting this...
2 | --
3 | -- In your Quartz properties file, you'll need to set
4 | -- org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
5 |
6 | drop table qrtz_fired_triggers;
7 | DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
8 | DROP TABLE QRTZ_SCHEDULER_STATE;
9 | DROP TABLE QRTZ_LOCKS;
10 | drop table qrtz_simple_triggers;
11 | drop table qrtz_cron_triggers;
12 | drop table qrtz_simprop_triggers;
13 | DROP TABLE QRTZ_BLOB_TRIGGERS;
14 | drop table qrtz_triggers;
15 | drop table qrtz_job_details;
16 | drop table qrtz_calendars;
17 |
18 | CREATE TABLE qrtz_job_details
19 | (
20 | SCHED_NAME VARCHAR(120) NOT NULL,
21 | JOB_NAME VARCHAR(200) NOT NULL,
22 | JOB_GROUP VARCHAR(200) NOT NULL,
23 | DESCRIPTION VARCHAR(250) NULL,
24 | JOB_CLASS_NAME VARCHAR(250) NOT NULL,
25 | IS_DURABLE BOOL NOT NULL,
26 | IS_NONCONCURRENT BOOL NOT NULL,
27 | IS_UPDATE_DATA BOOL NOT NULL,
28 | REQUESTS_RECOVERY BOOL NOT NULL,
29 | JOB_DATA BYTEA NULL,
30 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
31 | );
32 |
33 | CREATE TABLE qrtz_triggers
34 | (
35 | SCHED_NAME VARCHAR(120) NOT NULL,
36 | TRIGGER_NAME VARCHAR(200) NOT NULL,
37 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
38 | JOB_NAME VARCHAR(200) NOT NULL,
39 | JOB_GROUP VARCHAR(200) NOT NULL,
40 | DESCRIPTION VARCHAR(250) NULL,
41 | NEXT_FIRE_TIME BIGINT NULL,
42 | PREV_FIRE_TIME BIGINT NULL,
43 | PRIORITY INTEGER NULL,
44 | TRIGGER_STATE VARCHAR(16) NOT NULL,
45 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
46 | START_TIME BIGINT NOT NULL,
47 | END_TIME BIGINT NULL,
48 | CALENDAR_NAME VARCHAR(200) NULL,
49 | MISFIRE_INSTR SMALLINT NULL,
50 | JOB_DATA BYTEA NULL,
51 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
52 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
53 | REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
54 | );
55 |
56 | CREATE TABLE qrtz_simple_triggers
57 | (
58 | SCHED_NAME VARCHAR(120) NOT NULL,
59 | TRIGGER_NAME VARCHAR(200) NOT NULL,
60 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
61 | REPEAT_COUNT BIGINT NOT NULL,
62 | REPEAT_INTERVAL BIGINT NOT NULL,
63 | TIMES_TRIGGERED BIGINT NOT NULL,
64 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
65 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
66 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
67 | );
68 |
69 | CREATE TABLE qrtz_cron_triggers
70 | (
71 | SCHED_NAME VARCHAR(120) NOT NULL,
72 | TRIGGER_NAME VARCHAR(200) NOT NULL,
73 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
74 | CRON_EXPRESSION VARCHAR(120) NOT NULL,
75 | TIME_ZONE_ID VARCHAR(80),
76 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
77 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
78 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
79 | );
80 |
81 | CREATE TABLE qrtz_simprop_triggers
82 | (
83 | SCHED_NAME VARCHAR(120) NOT NULL,
84 | TRIGGER_NAME VARCHAR(200) NOT NULL,
85 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
86 | STR_PROP_1 VARCHAR(512) NULL,
87 | STR_PROP_2 VARCHAR(512) NULL,
88 | STR_PROP_3 VARCHAR(512) NULL,
89 | INT_PROP_1 INT NULL,
90 | INT_PROP_2 INT NULL,
91 | LONG_PROP_1 BIGINT NULL,
92 | LONG_PROP_2 BIGINT NULL,
93 | DEC_PROP_1 NUMERIC(13,4) NULL,
94 | DEC_PROP_2 NUMERIC(13,4) NULL,
95 | BOOL_PROP_1 BOOL NULL,
96 | BOOL_PROP_2 BOOL NULL,
97 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
98 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
99 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
100 | );
101 |
102 | CREATE TABLE qrtz_blob_triggers
103 | (
104 | SCHED_NAME VARCHAR(120) NOT NULL,
105 | TRIGGER_NAME VARCHAR(200) NOT NULL,
106 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
107 | BLOB_DATA BYTEA NULL,
108 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
109 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
110 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
111 | );
112 |
113 | CREATE TABLE qrtz_calendars
114 | (
115 | SCHED_NAME VARCHAR(120) NOT NULL,
116 | CALENDAR_NAME VARCHAR(200) NOT NULL,
117 | CALENDAR BYTEA NOT NULL,
118 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
119 | );
120 |
121 |
122 | CREATE TABLE qrtz_paused_trigger_grps
123 | (
124 | SCHED_NAME VARCHAR(120) NOT NULL,
125 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
126 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
127 | );
128 |
129 | CREATE TABLE qrtz_fired_triggers
130 | (
131 | SCHED_NAME VARCHAR(120) NOT NULL,
132 | ENTRY_ID VARCHAR(95) NOT NULL,
133 | TRIGGER_NAME VARCHAR(200) NOT NULL,
134 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
135 | INSTANCE_NAME VARCHAR(200) NOT NULL,
136 | FIRED_TIME BIGINT NOT NULL,
137 | SCHED_TIME BIGINT NOT NULL,
138 | PRIORITY INTEGER NOT NULL,
139 | STATE VARCHAR(16) NOT NULL,
140 | JOB_NAME VARCHAR(200) NULL,
141 | JOB_GROUP VARCHAR(200) NULL,
142 | IS_NONCONCURRENT BOOL NULL,
143 | REQUESTS_RECOVERY BOOL NULL,
144 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
145 | );
146 |
147 | CREATE TABLE qrtz_scheduler_state
148 | (
149 | SCHED_NAME VARCHAR(120) NOT NULL,
150 | INSTANCE_NAME VARCHAR(200) NOT NULL,
151 | LAST_CHECKIN_TIME BIGINT NOT NULL,
152 | CHECKIN_INTERVAL BIGINT NOT NULL,
153 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
154 | );
155 |
156 | CREATE TABLE qrtz_locks
157 | (
158 | SCHED_NAME VARCHAR(120) NOT NULL,
159 | LOCK_NAME VARCHAR(40) NOT NULL,
160 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
161 | );
162 |
163 | create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
164 | create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
165 |
166 | create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
167 | create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
168 | create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
169 | create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
170 | create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
171 | create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
172 | create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
173 | create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
174 | create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
175 | create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
176 | create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
177 | create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
178 |
179 | create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
180 | create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
181 | create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
182 | create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
183 | create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
184 | create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
185 |
186 |
187 | commit;
188 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_sapdb.sql:
--------------------------------------------------------------------------------
1 | #
2 | # Thanks to Andrew Perepelytsya for submitting this file.
3 | #
4 | # In your Quartz properties file, you'll need to set
5 | # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
6 | #
7 |
8 | CREATE TABLE QRTZ_JOB_DETAILS
9 | (
10 | SCHED_NAME VARCHAR(120) NOT NULL,
11 | JOB_NAME VARCHAR(200) NOT NULL,
12 | JOB_GROUP VARCHAR(200) NOT NULL,
13 | DESCRIPTION VARCHAR(250) NULL,
14 | JOB_CLASS_NAME VARCHAR(128) NOT NULL,
15 | IS_DURABLE VARCHAR(1) NOT NULL,
16 | IS_NONCONCURRENT VARCHAR(1) NOT NULL,
17 | IS_UPDATE_DATA VARCHAR(1) NOT NULL,
18 | REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
19 | JOB_DATA LONG BYTE NULL,
20 | PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
21 | );
22 |
23 | CREATE TABLE QRTZ_TRIGGERS
24 | (
25 | SCHED_NAME VARCHAR(120) NOT NULL,
26 | TRIGGER_NAME VARCHAR(200) NOT NULL,
27 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
28 | JOB_NAME VARCHAR(200) NOT NULL,
29 | JOB_GROUP VARCHAR(200) NOT NULL,
30 | DESCRIPTION VARCHAR(250) NULL,
31 | NEXT_FIRE_TIME FIXED(13) NULL,
32 | PREV_FIRE_TIME FIXED(13) NULL,
33 | PRIORITY FIXED(13) NULL,
34 | TRIGGER_STATE VARCHAR(16) NOT NULL,
35 | TRIGGER_TYPE VARCHAR(8) NOT NULL,
36 | START_TIME FIXED(13) NOT NULL,
37 | END_TIME FIXED(13) NULL,
38 | CALENDAR_NAME VARCHAR(200) NULL,
39 | MISFIRE_INSTR FIXED(2) NULL,
40 | JOB_DATA LONG BYTE NULL,
41 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
42 | FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
43 | );
44 |
45 | CREATE TABLE QRTZ_SIMPLE_TRIGGERS
46 | (
47 | SCHED_NAME VARCHAR(120) NOT NULL,
48 | TRIGGER_NAME VARCHAR(200) NOT NULL,
49 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
50 | REPEAT_COUNT FIXED(7) NOT NULL,
51 | REPEAT_INTERVAL FIXED(12) NOT NULL,
52 | TIMES_TRIGGERED FIXED(10) NOT NULL,
53 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
54 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
55 | );
56 |
57 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
58 | (
59 | SCHED_NAME VARCHAR(120) NOT NULL,
60 | TRIGGER_NAME VARCHAR(200) NOT NULL,
61 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
62 | STR_PROP_1 VARCHAR(512) NULL,
63 | STR_PROP_2 VARCHAR(512) NULL,
64 | STR_PROP_3 VARCHAR(512) NULL,
65 | INT_PROP_1 FIXED(10) NULL,
66 | INT_PROP_2 FIXED(10) NULL,
67 | LONG_PROP_1 FIXED(13) NULL,
68 | LONG_PROP_2 FIXED(13) NULL,
69 | DEC_PROP_1 NUMERIC(13,4) NULL,
70 | DEC_PROP_2 NUMERIC(13,4) NULL,
71 | BOOL_PROP_1 VARCHAR(1) NULL,
72 | BOOL_PROP_2 VARCHAR(1) NULL,
73 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
74 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
75 | REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
76 | );
77 |
78 | CREATE TABLE QRTZ_CRON_TRIGGERS
79 | (
80 | SCHED_NAME VARCHAR(120) NOT NULL,
81 | TRIGGER_NAME VARCHAR(200) NOT NULL,
82 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
83 | CRON_EXPRESSION VARCHAR(120) NOT NULL,
84 | TIME_ZONE_ID VARCHAR(80),
85 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
86 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
87 | );
88 |
89 | CREATE TABLE QRTZ_BLOB_TRIGGERS
90 | (
91 | SCHED_NAME VARCHAR(120) NOT NULL,
92 | TRIGGER_NAME VARCHAR(200) NOT NULL,
93 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
94 | BLOB_DATA LONG BYTE NULL,
95 | PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
96 | FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
97 | );
98 |
99 | CREATE TABLE QRTZ_CALENDARS
100 | (
101 | SCHED_NAME VARCHAR(120) NOT NULL,
102 | CALENDAR_NAME VARCHAR(200) NOT NULL,
103 | DESCRIPTION VARCHAR(250) NULL,
104 | CALENDAR LONG BYTE NOT NULL,
105 | PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
106 | );
107 |
108 |
109 | CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
110 | (
111 | SCHED_NAME VARCHAR(120) NOT NULL,
112 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
113 | PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
114 | );
115 |
116 | CREATE TABLE QRTZ_FIRED_TRIGGERS
117 | (
118 | SCHED_NAME VARCHAR(120) NOT NULL,
119 | ENTRY_ID VARCHAR(95) NOT NULL,
120 | TRIGGER_NAME VARCHAR(200) NOT NULL,
121 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
122 | INSTANCE_NAME VARCHAR(200) NOT NULL,
123 | FIRED_TIME FIXED(13) NOT NULL,
124 | SCHED_TIME FIXED(13) NOT NULL,
125 | PRIORITY FIXED(13) NOT NULL,
126 | STATE VARCHAR(16) NOT NULL,
127 | JOB_NAME VARCHAR(200) NULL,
128 | JOB_GROUP VARCHAR(200) NULL,
129 | IS_NONCONCURRENT VARCHAR(1) NULL,
130 | REQUESTS_RECOVERY VARCHAR(1) NULL,
131 | PRIMARY KEY (SCHED_NAME,ENTRY_ID)
132 | );
133 |
134 | CREATE TABLE QRTZ_SCHEDULER_STATE
135 | (
136 | SCHED_NAME VARCHAR(120) NOT NULL,
137 | INSTANCE_NAME VARCHAR(200) NOT NULL,
138 | LAST_CHECKIN_TIME FIXED(13) NOT NULL,
139 | CHECKIN_INTERVAL FIXED(13) NOT NULL,
140 | PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
141 | );
142 |
143 | CREATE TABLE QRTZ_LOCKS
144 | (
145 | SCHED_NAME VARCHAR(120) NOT NULL,
146 | LOCK_NAME VARCHAR(40) NOT NULL,
147 | PRIMARY KEY (SCHED_NAME,LOCK_NAME)
148 | );
149 |
150 |
151 | commit;
152 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_solid.sql:
--------------------------------------------------------------------------------
1 |
2 | DROP TABLE qrtz_locks;
3 | DROP TABLE qrtz_scheduler_state;
4 | DROP TABLE qrtz_fired_triggers;
5 | DROP TABLE qrtz_paused_trigger_grps;
6 | DROP TABLE qrtz_calendars;
7 | DROP TABLE qrtz_blob_triggers;
8 | DROP TABLE qrtz_cron_triggers;
9 | DROP TABLE qrtz_simple_triggers;
10 | DROP TABLE qrtz_simprop_triggers;
11 | DROP TABLE qrtz_triggers;
12 | DROP TABLE qrtz_job_details;
13 |
14 | create table qrtz_job_details (
15 | sched_name varchar(120) not null,
16 | job_name varchar(80) not null,
17 | job_group varchar(80) not null,
18 | description varchar(120) ,
19 | job_class_name varchar(128) not null,
20 | is_durable varchar(5) not null,
21 | is_nonconcurrent varchar(5) not null,
22 | is_update_data varchar(5) not null,
23 | requests_recovery varchar(5) not null,
24 | job_data long varbinary,
25 | primary key (sched_name,job_name,job_group)
26 | );
27 |
28 | create table qrtz_triggers(
29 | sched_name varchar(120) not null,
30 | trigger_name varchar(80) not null,
31 | trigger_group varchar(80) not null,
32 | job_name varchar(80) not null,
33 | job_group varchar(80) not null,
34 | description varchar(120) ,
35 | next_fire_time numeric(13),
36 | prev_fire_time numeric(13),
37 | priority integer,
38 | trigger_state varchar(16) not null,
39 | trigger_type varchar(8) not null,
40 | start_time numeric(13) not null,
41 | end_time numeric(13),
42 | calendar_name varchar(80),
43 | misfire_instr smallint,
44 | job_data long varbinary,
45 | primary key (sched_name,trigger_name,trigger_group),
46 | foreign key (sched_name,job_name,job_group) references qrtz_job_details(sched_name,job_name,job_group)
47 | );
48 |
49 | create table qrtz_simple_triggers(
50 | sched_name varchar(120) not null,
51 | trigger_name varchar(80) not null,
52 | trigger_group varchar(80) not null,
53 | repeat_count numeric(13) not null,
54 | repeat_interval numeric(13) not null,
55 | times_triggered numeric(13) not null,
56 | primary key (sched_name,trigger_name,trigger_group),
57 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
58 | );
59 |
60 | CREATE TABLE qrtz_simprop_triggers
61 | (
62 | sched_name varchar(120) not null,
63 | trigger_name VARCHAR(200) NOT NULL,
64 | trigger_group VARCHAR(200) NOT NULL,
65 | STR_PROP_1 VARCHAR(512) NULL,
66 | STR_PROP_2 VARCHAR(512) NULL,
67 | STR_PROP_3 VARCHAR(512) NULL,
68 | INT_PROP_1 INTEGER NULL,
69 | INT_PROP_2 INTEGER NULL,
70 | LONG_PROP_1 NUMERIC(13) NULL,
71 | LONG_PROP_2 NUMERIC(13) NULL,
72 | DEC_PROP_1 NUMERIC(13,4) NULL,
73 | DEC_PROP_2 NUMERIC(13,4) NULL,
74 | BOOL_PROP_1 VARCHAR(5) NULL,
75 | BOOL_PROP_2 VARCHAR(5) NULL,
76 | PRIMARY KEY (sched_name,trigger_name,trigger_group),
77 | FOREIGN KEY (sched_name,trigger_name,trigger_group) REFERENCES qrtz_triggers(sched_name,trigger_name,trigger_group)
78 | );
79 |
80 |
81 | create table qrtz_cron_triggers(
82 | sched_name varchar(120) not null,
83 | trigger_name varchar(80) not null,
84 | trigger_group varchar(80) not null,
85 | cron_expression varchar(120) not null,
86 | time_zone_id varchar(80),
87 | primary key (sched_name,trigger_name,trigger_group),
88 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
89 | );
90 |
91 | create table qrtz_blob_triggers(
92 | sched_name varchar(120) not null,
93 | trigger_name varchar(80) not null,
94 | trigger_group varchar(80) not null,
95 | blob_data long varbinary ,
96 | primary key (sched_name,trigger_name,trigger_group),
97 | foreign key (sched_name,trigger_name,trigger_group) references qrtz_triggers(sched_name,trigger_name,trigger_group)
98 | );
99 |
100 | create table qrtz_calendars(
101 | sched_name varchar(120) not null,
102 | calendar_name varchar(80) not null,
103 | calendar long varbinary not null,
104 | primary key (sched_name,calendar_name)
105 | );
106 |
107 | create table qrtz_paused_trigger_grps
108 | (
109 | sched_name varchar(120) not null,
110 | trigger_group varchar(80) not null,
111 | primary key (sched_name,trigger_group)
112 | );
113 |
114 | create table qrtz_fired_triggers(
115 | sched_name varchar(120) not null,
116 | entry_id varchar(95) not null,
117 | trigger_name varchar(80) not null,
118 | trigger_group varchar(80) not null,
119 | instance_name varchar(80) not null,
120 | fired_time numeric(13) not null,
121 | sched_time numeric(13) not null,
122 | priority integer not null,
123 | state varchar(16) not null,
124 | job_name varchar(80) null,
125 | job_group varchar(80) null,
126 | is_nonconcurrent varchar(5) null,
127 | requests_recovery varchar(5) null,
128 | primary key (sched_name,entry_id)
129 | );
130 |
131 | create table qrtz_scheduler_state
132 | (
133 | sched_name varchar(120) not null,
134 | instance_name varchar(80) not null,
135 | last_checkin_time numeric(13) not null,
136 | checkin_interval numeric(13) not null,
137 | primary key (sched_name,instance_name)
138 | );
139 |
140 | create table qrtz_locks
141 | (
142 | sched_name varchar(120) not null,
143 | lock_name varchar(40) not null,
144 | primary key (sched_name,lock_name)
145 | );
146 |
147 | commit work;
148 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_sqlServer.sql:
--------------------------------------------------------------------------------
1 | --# thanks to George Papastamatopoulos for submitting this ... and Marko Lahma for
2 | --# updating it.
3 | --#
4 | --# In your Quartz properties file, you'll need to set
5 | --# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate
6 | --#
7 | --# you shouse enter your DB instance's name on the next line in place of "enter_db_name_here"
8 | --#
9 | --#
10 | --# From a helpful (but anonymous) Quartz user:
11 | --#
12 | --# Regarding this error message:
13 | --#
14 | --# [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
15 | --#
16 | --#
17 | --# I added "SelectMethod=cursor;" to my Connection URL in the config file.
18 | --# It Seems to work, hopefully no side effects.
19 | --#
20 | --# example:
21 | --# "jdbc:microsoft:sqlserver://dbmachine:1433;SelectMethod=cursor";
22 | --#
23 | --# Another user has pointed out that you will probably need to use the
24 | --# JTDS driver
25 | --#
26 |
27 | USE [enter_db_name_here]
28 | GO
29 |
30 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
31 | ALTER TABLE [dbo].[QRTZ_TRIGGERS] DROP CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS
32 | GO
33 |
34 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
35 | ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] DROP CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS
36 | GO
37 |
38 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
39 | ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS
40 | GO
41 |
42 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
43 | ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS
44 | GO
45 |
46 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
47 | DROP TABLE [dbo].[QRTZ_CALENDARS]
48 | GO
49 |
50 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
51 | DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS]
52 | GO
53 |
54 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
55 | DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS]
56 | GO
57 |
58 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
59 | DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS]
60 | GO
61 |
62 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
63 | DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]
64 | GO
65 |
66 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
67 | DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE]
68 | GO
69 |
70 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
71 | DROP TABLE [dbo].[QRTZ_LOCKS]
72 | GO
73 |
74 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
75 | DROP TABLE [dbo].[QRTZ_JOB_DETAILS]
76 | GO
77 |
78 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
79 | DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]
80 | GO
81 |
82 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
83 | DROP TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS]
84 | GO
85 |
86 | IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
87 | DROP TABLE [dbo].[QRTZ_TRIGGERS]
88 | GO
89 |
90 | CREATE TABLE [dbo].[QRTZ_CALENDARS] (
91 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
92 | [CALENDAR_NAME] [VARCHAR] (200) NOT NULL ,
93 | [CALENDAR] [IMAGE] NOT NULL
94 | ) ON [PRIMARY]
95 | GO
96 |
97 | CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (
98 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
99 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
100 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
101 | [CRON_EXPRESSION] [VARCHAR] (120) NOT NULL ,
102 | [TIME_ZONE_ID] [VARCHAR] (80)
103 | ) ON [PRIMARY]
104 | GO
105 |
106 | CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (
107 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
108 | [ENTRY_ID] [VARCHAR] (95) NOT NULL ,
109 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
110 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
111 | [INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
112 | [FIRED_TIME] [BIGINT] NOT NULL ,
113 | [SCHED_TIME] [BIGINT] NOT NULL ,
114 | [PRIORITY] [INTEGER] NOT NULL ,
115 | [STATE] [VARCHAR] (16) NOT NULL,
116 | [JOB_NAME] [VARCHAR] (200) NULL ,
117 | [JOB_GROUP] [VARCHAR] (200) NULL ,
118 | [IS_NONCONCURRENT] [VARCHAR] (1) NULL ,
119 | [REQUESTS_RECOVERY] [VARCHAR] (1) NULL
120 | ) ON [PRIMARY]
121 | GO
122 |
123 | CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (
124 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
125 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL
126 | ) ON [PRIMARY]
127 | GO
128 |
129 | CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (
130 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
131 | [INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
132 | [LAST_CHECKIN_TIME] [BIGINT] NOT NULL ,
133 | [CHECKIN_INTERVAL] [BIGINT] NOT NULL
134 | ) ON [PRIMARY]
135 | GO
136 |
137 | CREATE TABLE [dbo].[QRTZ_LOCKS] (
138 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
139 | [LOCK_NAME] [VARCHAR] (40) NOT NULL
140 | ) ON [PRIMARY]
141 | GO
142 |
143 | CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (
144 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
145 | [JOB_NAME] [VARCHAR] (200) NOT NULL ,
146 | [JOB_GROUP] [VARCHAR] (200) NOT NULL ,
147 | [DESCRIPTION] [VARCHAR] (250) NULL ,
148 | [JOB_CLASS_NAME] [VARCHAR] (250) NOT NULL ,
149 | [IS_DURABLE] [VARCHAR] (1) NOT NULL ,
150 | [IS_NONCONCURRENT] [VARCHAR] (1) NOT NULL ,
151 | [IS_UPDATE_DATA] [VARCHAR] (1) NOT NULL ,
152 | [REQUESTS_RECOVERY] [VARCHAR] (1) NOT NULL ,
153 | [JOB_DATA] [IMAGE] NULL
154 | ) ON [PRIMARY]
155 | GO
156 |
157 | CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (
158 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
159 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
160 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
161 | [REPEAT_COUNT] [BIGINT] NOT NULL ,
162 | [REPEAT_INTERVAL] [BIGINT] NOT NULL ,
163 | [TIMES_TRIGGERED] [BIGINT] NOT NULL
164 | ) ON [PRIMARY]
165 | GO
166 |
167 | CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (
168 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
169 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
170 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
171 | [STR_PROP_1] [VARCHAR] (512) NULL,
172 | [STR_PROP_2] [VARCHAR] (512) NULL,
173 | [STR_PROP_3] [VARCHAR] (512) NULL,
174 | [INT_PROP_1] [INT] NULL,
175 | [INT_PROP_2] [INT] NULL,
176 | [LONG_PROP_1] [BIGINT] NULL,
177 | [LONG_PROP_2] [BIGINT] NULL,
178 | [DEC_PROP_1] [NUMERIC] (13,4) NULL,
179 | [DEC_PROP_2] [NUMERIC] (13,4) NULL,
180 | [BOOL_PROP_1] [VARCHAR] (1) NULL,
181 | [BOOL_PROP_2] [VARCHAR] (1) NULL,
182 | ) ON [PRIMARY]
183 | GO
184 |
185 | CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (
186 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
187 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
188 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
189 | [BLOB_DATA] [IMAGE] NULL
190 | ) ON [PRIMARY]
191 | GO
192 |
193 | CREATE TABLE [dbo].[QRTZ_TRIGGERS] (
194 | [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
195 | [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
196 | [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
197 | [JOB_NAME] [VARCHAR] (200) NOT NULL ,
198 | [JOB_GROUP] [VARCHAR] (200) NOT NULL ,
199 | [DESCRIPTION] [VARCHAR] (250) NULL ,
200 | [NEXT_FIRE_TIME] [BIGINT] NULL ,
201 | [PREV_FIRE_TIME] [BIGINT] NULL ,
202 | [PRIORITY] [INTEGER] NULL ,
203 | [TRIGGER_STATE] [VARCHAR] (16) NOT NULL ,
204 | [TRIGGER_TYPE] [VARCHAR] (8) NOT NULL ,
205 | [START_TIME] [BIGINT] NOT NULL ,
206 | [END_TIME] [BIGINT] NULL ,
207 | [CALENDAR_NAME] [VARCHAR] (200) NULL ,
208 | [MISFIRE_INSTR] [SMALLINT] NULL ,
209 | [JOB_DATA] [IMAGE] NULL
210 | ) ON [PRIMARY]
211 | GO
212 |
213 | ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD
214 | CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY CLUSTERED
215 | (
216 | [SCHED_NAME],
217 | [CALENDAR_NAME]
218 | ) ON [PRIMARY]
219 | GO
220 |
221 | ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD
222 | CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY CLUSTERED
223 | (
224 | [SCHED_NAME],
225 | [TRIGGER_NAME],
226 | [TRIGGER_GROUP]
227 | ) ON [PRIMARY]
228 | GO
229 |
230 | ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD
231 | CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY CLUSTERED
232 | (
233 | [SCHED_NAME],
234 | [ENTRY_ID]
235 | ) ON [PRIMARY]
236 | GO
237 |
238 | ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD
239 | CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY CLUSTERED
240 | (
241 | [SCHED_NAME],
242 | [TRIGGER_GROUP]
243 | ) ON [PRIMARY]
244 | GO
245 |
246 | ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD
247 | CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY CLUSTERED
248 | (
249 | [SCHED_NAME],
250 | [INSTANCE_NAME]
251 | ) ON [PRIMARY]
252 | GO
253 |
254 | ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD
255 | CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY CLUSTERED
256 | (
257 | [SCHED_NAME],
258 | [LOCK_NAME]
259 | ) ON [PRIMARY]
260 | GO
261 |
262 | ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD
263 | CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY CLUSTERED
264 | (
265 | [SCHED_NAME],
266 | [JOB_NAME],
267 | [JOB_GROUP]
268 | ) ON [PRIMARY]
269 | GO
270 |
271 | ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD
272 | CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY CLUSTERED
273 | (
274 | [SCHED_NAME],
275 | [TRIGGER_NAME],
276 | [TRIGGER_GROUP]
277 | ) ON [PRIMARY]
278 | GO
279 |
280 | ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD
281 | CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY CLUSTERED
282 | (
283 | [SCHED_NAME],
284 | [TRIGGER_NAME],
285 | [TRIGGER_GROUP]
286 | ) ON [PRIMARY]
287 | GO
288 |
289 | ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD
290 | CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY CLUSTERED
291 | (
292 | [SCHED_NAME],
293 | [TRIGGER_NAME],
294 | [TRIGGER_GROUP]
295 | ) ON [PRIMARY]
296 | GO
297 |
298 | ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD
299 | CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
300 | (
301 | [SCHED_NAME],
302 | [TRIGGER_NAME],
303 | [TRIGGER_GROUP]
304 | ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
305 | [SCHED_NAME],
306 | [TRIGGER_NAME],
307 | [TRIGGER_GROUP]
308 | ) ON DELETE CASCADE
309 | GO
310 |
311 | ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD
312 | CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
313 | (
314 | [SCHED_NAME],
315 | [TRIGGER_NAME],
316 | [TRIGGER_GROUP]
317 | ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
318 | [SCHED_NAME],
319 | [TRIGGER_NAME],
320 | [TRIGGER_GROUP]
321 | ) ON DELETE CASCADE
322 | GO
323 |
324 | ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD
325 | CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
326 | (
327 | [SCHED_NAME],
328 | [TRIGGER_NAME],
329 | [TRIGGER_GROUP]
330 | ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
331 | [SCHED_NAME],
332 | [TRIGGER_NAME],
333 | [TRIGGER_GROUP]
334 | ) ON DELETE CASCADE
335 | GO
336 |
337 | ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD
338 | CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY
339 | (
340 | [SCHED_NAME],
341 | [JOB_NAME],
342 | [JOB_GROUP]
343 | ) REFERENCES [dbo].[QRTZ_JOB_DETAILS] (
344 | [SCHED_NAME],
345 | [JOB_NAME],
346 | [JOB_GROUP]
347 | )
348 | GO
349 |
350 |
--------------------------------------------------------------------------------
/src/main/resources/scripts/tables_sybase.sql:
--------------------------------------------------------------------------------
1 | /*==============================================================================================*/
2 | /* Quartz database tables creation script for Sybase ASE 12.5 */
3 | /* Written by Pertti Laiho (email: pertti.laiho@deio.net), 9th May 2003 */
4 | /* */
5 | /* Compatible with Quartz version 1.1.2 */
6 | /* */
7 | /* Sybase ASE works ok with the SybaseDelegate delegate class. That means in your Quartz properties */
8 | /* file, you'll need to set: */
9 | /* org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.SybaseDelegate */
10 | /*==============================================================================================*/
11 |
12 | use your_db_name_here
13 | go
14 |
15 | /*==============================================================================*/
16 | /* Clear all tables: */
17 | /*==============================================================================*/
18 |
19 | IF OBJECT_ID('QRTZ_FIRED_TRIGGERS') IS NOT NULL
20 | delete from QRTZ_FIRED_TRIGGERS
21 | go
22 | IF OBJECT_ID('QRTZ_PAUSED_TRIGGER_GRPS') IS NOT NULL
23 | delete from QRTZ_PAUSED_TRIGGER_GRPS
24 | go
25 | IF OBJECT_ID('QRTZ_SCHEDULER_STATE') IS NOT NULL
26 | delete from QRTZ_SCHEDULER_STATE
27 | go
28 | IF OBJECT_ID('QRTZ_LOCKS') IS NOT NULL
29 | delete from QRTZ_LOCKS
30 | go
31 | IF OBJECT_ID('QRTZ_SIMPLE_TRIGGERS') IS NOT NULL
32 | delete from QRTZ_SIMPLE_TRIGGERS
33 | go
34 | IF OBJECT_ID('QRTZ_SIMPROP_TRIGGERS') IS NOT NULL
35 | delete from QRTZ_SIMPROP_TRIGGERS
36 | go
37 | IF OBJECT_ID('QRTZ_CRON_TRIGGERS') IS NOT NULL
38 | delete from QRTZ_CRON_TRIGGERS
39 | go
40 | IF OBJECT_ID('QRTZ_BLOB_TRIGGERS') IS NOT NULL
41 | delete from QRTZ_BLOB_TRIGGERS
42 | go
43 | IF OBJECT_ID('QRTZ_TRIGGERS') IS NOT NULL
44 | delete from QRTZ_TRIGGERS
45 | go
46 | IF OBJECT_ID('QRTZ_JOB_DETAILS') IS NOT NULL
47 | delete from QRTZ_JOB_DETAILS
48 | go
49 | IF OBJECT_ID('QRTZ_CALENDARS') IS NOT NULL
50 | delete from QRTZ_CALENDARS
51 | go
52 |
53 | /*==============================================================================*/
54 | /* Drop constraints: */
55 | /*==============================================================================*/
56 |
57 | alter table QRTZ_TRIGGERS
58 | drop constraint FK_triggers_job_details
59 | go
60 |
61 | alter table QRTZ_CRON_TRIGGERS
62 | drop constraint FK_cron_triggers_triggers
63 | go
64 |
65 | alter table QRTZ_SIMPLE_TRIGGERS
66 | drop constraint FK_simple_triggers_triggers
67 | go
68 |
69 | alter table QRTZ_SIMPROP_TRIGGERS
70 | drop constraint FK_simprop_triggers_triggers
71 | go
72 |
73 | alter table QRTZ_BLOB_TRIGGERS
74 | drop constraint FK_blob_triggers_triggers
75 | go
76 |
77 | /*==============================================================================*/
78 | /* Drop tables: */
79 | /*==============================================================================*/
80 |
81 | drop table QRTZ_FIRED_TRIGGERS
82 | go
83 | drop table QRTZ_PAUSED_TRIGGER_GRPS
84 | go
85 | drop table QRTZ_SCHEDULER_STATE
86 | go
87 | drop table QRTZ_LOCKS
88 | go
89 | drop table QRTZ_SIMPLE_TRIGGERS
90 | go
91 | drop table QRTZ_SIMPROP_TRIGGERS
92 | go
93 | drop table QRTZ_CRON_TRIGGERS
94 | go
95 | drop table QRTZ_BLOB_TRIGGERS
96 | go
97 | drop table QRTZ_TRIGGERS
98 | go
99 | drop table QRTZ_JOB_DETAILS
100 | go
101 | drop table QRTZ_CALENDARS
102 | go
103 |
104 | /*==============================================================================*/
105 | /* Create tables: */
106 | /*==============================================================================*/
107 |
108 | create table QRTZ_CALENDARS (
109 | SCHED_NAME varchar(120) not null,
110 | CALENDAR_NAME varchar(80) not null,
111 | CALENDAR image not null
112 | )
113 | go
114 |
115 | create table QRTZ_CRON_TRIGGERS (
116 | SCHED_NAME varchar(120) not null,
117 | TRIGGER_NAME varchar(80) not null,
118 | TRIGGER_GROUP varchar(80) not null,
119 | CRON_EXPRESSION varchar(120) not null,
120 | TIME_ZONE_ID varchar(80) null,
121 | )
122 | go
123 |
124 | create table QRTZ_PAUSED_TRIGGER_GRPS (
125 | SCHED_NAME varchar(120) not null,
126 | TRIGGER_GROUP varchar(80) not null,
127 | )
128 | go
129 |
130 | create table QRTZ_FIRED_TRIGGERS(
131 | SCHED_NAME varchar(120) not null,
132 | ENTRY_ID varchar(95) not null,
133 | TRIGGER_NAME varchar(80) not null,
134 | TRIGGER_GROUP varchar(80) not null,
135 | INSTANCE_NAME varchar(80) not null,
136 | FIRED_TIME numeric(13,0) not null,
137 | SCHED_TIME numeric(13,0) not null,
138 | PRIORITY int not null,
139 | STATE varchar(16) not null,
140 | JOB_NAME varchar(80) null,
141 | JOB_GROUP varchar(80) null,
142 | IS_NONCONCURRENT bit not null,
143 | REQUESTS_RECOVERY bit not null,
144 | )
145 | go
146 |
147 | create table QRTZ_SCHEDULER_STATE (
148 | SCHED_NAME varchar(120) not null,
149 | INSTANCE_NAME varchar(80) not null,
150 | LAST_CHECKIN_TIME numeric(13,0) not null,
151 | CHECKIN_INTERVAL numeric(13,0) not null,
152 | )
153 | go
154 |
155 | create table QRTZ_LOCKS (
156 | SCHED_NAME varchar(120) not null,
157 | LOCK_NAME varchar(40) not null,
158 | )
159 | go
160 |
161 |
162 | create table QRTZ_JOB_DETAILS (
163 | SCHED_NAME varchar(120) not null,
164 | JOB_NAME varchar(80) not null,
165 | JOB_GROUP varchar(80) not null,
166 | DESCRIPTION varchar(120) null,
167 | JOB_CLASS_NAME varchar(128) not null,
168 | IS_DURABLE bit not null,
169 | IS_NONCONCURRENT bit not null,
170 | IS_UPDATE_DATA bit not null,
171 | REQUESTS_RECOVERY bit not null,
172 | JOB_DATA image null
173 | )
174 | go
175 |
176 | create table QRTZ_SIMPLE_TRIGGERS (
177 | SCHED_NAME varchar(120) not null,
178 | TRIGGER_NAME varchar(80) not null,
179 | TRIGGER_GROUP varchar(80) not null,
180 | REPEAT_COUNT numeric(13,0) not null,
181 | REPEAT_INTERVAL numeric(13,0) not null,
182 | TIMES_TRIGGERED numeric(13,0) not null
183 | )
184 | go
185 |
186 | CREATE TABLE QRTZ_SIMPROP_TRIGGERS
187 | (
188 | SCHED_NAME VARCHAR(120) NOT NULL,
189 | TRIGGER_NAME VARCHAR(200) NOT NULL,
190 | TRIGGER_GROUP VARCHAR(200) NOT NULL,
191 | STR_PROP_1 VARCHAR(512) NULL,
192 | STR_PROP_2 VARCHAR(512) NULL,
193 | STR_PROP_3 VARCHAR(512) NULL,
194 | INT_PROP_1 INT NULL,
195 | INT_PROP_2 INT NULL,
196 | LONG_PROP_1 NUMERIC(13,0) NULL,
197 | LONG_PROP_2 NUMERIC(13,0) NULL,
198 | DEC_PROP_1 NUMERIC(13,4) NULL,
199 | DEC_PROP_2 NUMERIC(13,4) NULL,
200 | BOOL_PROP_1 bit NOT NULL,
201 | BOOL_PROP_2 bit NOT NULL
202 | )
203 | go
204 |
205 | create table QRTZ_BLOB_TRIGGERS (
206 | SCHED_NAME varchar(120) not null,
207 | TRIGGER_NAME varchar(80) not null,
208 | TRIGGER_GROUP varchar(80) not null,
209 | BLOB_DATA image null
210 | )
211 | go
212 |
213 | create table QRTZ_TRIGGERS (
214 | SCHED_NAME varchar(120) not null,
215 | TRIGGER_NAME varchar(80) not null,
216 | TRIGGER_GROUP varchar(80) not null,
217 | JOB_NAME varchar(80) not null,
218 | JOB_GROUP varchar(80) not null,
219 | DESCRIPTION varchar(120) null,
220 | NEXT_FIRE_TIME numeric(13,0) null,
221 | PREV_FIRE_TIME numeric(13,0) null,
222 | PRIORITY int null,
223 | TRIGGER_STATE varchar(16) not null,
224 | TRIGGER_TYPE varchar(8) not null,
225 | START_TIME numeric(13,0) not null,
226 | END_TIME numeric(13,0) null,
227 | CALENDAR_NAME varchar(80) null,
228 | MISFIRE_INSTR smallint null,
229 | JOB_DATA image null
230 | )
231 | go
232 |
233 | /*==============================================================================*/
234 | /* Create primary key constraints: */
235 | /*==============================================================================*/
236 |
237 | alter table QRTZ_CALENDARS
238 | add constraint PK_qrtz_calendars primary key clustered (SCHED_NAME,CALENDAR_NAME)
239 | go
240 |
241 | alter table QRTZ_CRON_TRIGGERS
242 | add constraint PK_qrtz_cron_triggers primary key clustered (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
243 | go
244 |
245 | alter table QRTZ_FIRED_TRIGGERS
246 | add constraint PK_qrtz_fired_triggers primary key clustered (SCHED_NAME,ENTRY_ID)
247 | go
248 |
249 | alter table QRTZ_PAUSED_TRIGGER_GRPS
250 | add constraint PK_qrtz_paused_trigger_grps primary key clustered (SCHED_NAME,TRIGGER_GROUP)
251 | go
252 |
253 | alter table QRTZ_SCHEDULER_STATE
254 | add constraint PK_qrtz_scheduler_state primary key clustered (SCHED_NAME,INSTANCE_NAME)
255 | go
256 |
257 | alter table QRTZ_LOCKS
258 | add constraint PK_qrtz_locks primary key clustered (SCHED_NAME,LOCK_NAME)
259 | go
260 |
261 | alter table QRTZ_JOB_DETAILS
262 | add constraint PK_qrtz_job_details primary key clustered (SCHED_NAME,JOB_NAME, JOB_GROUP)
263 | go
264 |
265 | alter table QRTZ_SIMPLE_TRIGGERS
266 | add constraint PK_qrtz_simple_triggers primary key clustered (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
267 | go
268 |
269 | alter table QRTZ_SIMPROP_TRIGGERS
270 | add constraint PK_qrtz_simprop_triggers primary key clustered (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
271 | go
272 |
273 | alter table QRTZ_TRIGGERS
274 | add constraint PK_qrtz_triggers primary key clustered (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
275 | go
276 |
277 | alter table QRTZ_BLOB_TRIGGERS
278 | add constraint PK_qrtz_blob_triggers primary key clustered (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP)
279 | go
280 |
281 |
282 | /*==============================================================================*/
283 | /* Create foreign key constraints: */
284 | /*==============================================================================*/
285 |
286 | alter table QRTZ_CRON_TRIGGERS
287 | add constraint FK_cron_triggers_triggers foreign key (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
288 | references QRTZ_TRIGGERS (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
289 | go
290 |
291 | alter table QRTZ_SIMPLE_TRIGGERS
292 | add constraint FK_simple_triggers_triggers foreign key (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
293 | references QRTZ_TRIGGERS (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
294 | go
295 |
296 | alter table QRTZ_SIMPROP_TRIGGERS
297 | add constraint FK_simprop_triggers_triggers foreign key (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
298 | references QRTZ_TRIGGERS (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
299 | go
300 |
301 | alter table QRTZ_TRIGGERS
302 | add constraint FK_triggers_job_details foreign key (SCHED_NAME,JOB_NAME,JOB_GROUP)
303 | references QRTZ_JOB_DETAILS (SCHED_NAME,JOB_NAME,JOB_GROUP)
304 | go
305 |
306 | alter table QRTZ_BLOB_TRIGGERS
307 | add constraint FK_blob_triggers_triggers foreign key (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
308 | references QRTZ_TRIGGERS (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
309 | go
310 |
311 | /*==============================================================================*/
312 | /* End of script. */
313 | /*==============================================================================*/
314 |
--------------------------------------------------------------------------------
/src/main/resources/spring-mvc.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/src/main/resources/velocity.properties:
--------------------------------------------------------------------------------
1 | tools.view.servlet.layout.default.template = default.vm
2 | default.contentType=text/html;charset=utf-8
3 | input.encoding = UTF-8
4 | output.encoding = UTF-8
5 | class.resource.loader.cache=false
6 | velocimacro.library.autoreload=true
7 | directive.set.null.allowed = true
8 | runtime.log.error.stacktrace = true
9 | runtime.log.warn.stacktrace = true
10 | runtime.log.info.stacktrace = true
11 | runtime.log.logsystem.class = org.apache.velocity.runtime.log.SimpleLog4JLogSystem
12 | runtime.log.logsystem.log4j.category = velocity_log
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/foot.vm:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |