更新调度表结构前缀,校验大字段长度

This commit is contained in:
xueli.xue 2015-12-31 18:35:19 +08:00
parent d802ecb274
commit 832c94d64c
7 changed files with 48 additions and 33 deletions

View File

@ -29,5 +29,5 @@ git.osc地址http://git.oschina.net/xuxueli0323/xxl-job
# 其他说明 # 其他说明
清楚僵尸任务qrtz_cron_triggers、qrtz_triggers、qrtz_job_details顺序删除 清楚僵尸任务qrtz_cron_triggers、qrtz_triggers、qrtz_job_details顺序删除
V1.2新增任务日志,记得执行“qrtz_trigger_log”生成表结构 V1.2新增任务日志,记得执行“tables_xxl_log.sql”生成表结构

View File

@ -11,7 +11,7 @@
# DROP TABLE IF EXISTS XXL_JOB_QRTZ_CALENDARS; # DROP TABLE IF EXISTS XXL_JOB_QRTZ_CALENDARS;
# DROP TABLE IF EXISTS `xxl_job_qrtz_trigger_log`; # DROP TABLE IF EXISTS `xxl_job_qrtz_trigger_log`;
CREATE TABLE QRTZ_JOB_DETAILS CREATE TABLE XXL_JOB_QRTZ_JOB_DETAILS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
JOB_NAME VARCHAR(200) NOT NULL, JOB_NAME VARCHAR(200) NOT NULL,
@ -26,7 +26,7 @@ CREATE TABLE QRTZ_JOB_DETAILS
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
); );
CREATE TABLE QRTZ_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL,
@ -46,10 +46,10 @@ CREATE TABLE QRTZ_TRIGGERS
JOB_DATA BLOB NULL, JOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP) REFERENCES XXL_JOB_QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
); );
CREATE TABLE QRTZ_SIMPLE_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_SIMPLE_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL,
@ -59,10 +59,10 @@ CREATE TABLE QRTZ_SIMPLE_TRIGGERS
TIMES_TRIGGERED BIGINT(10) NOT NULL, TIMES_TRIGGERED BIGINT(10) NOT NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES XXL_JOB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
); );
CREATE TABLE QRTZ_CRON_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_CRON_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL,
@ -71,10 +71,10 @@ CREATE TABLE QRTZ_CRON_TRIGGERS
TIME_ZONE_ID VARCHAR(80), TIME_ZONE_ID VARCHAR(80),
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES XXL_JOB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
); );
CREATE TABLE QRTZ_SIMPROP_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_SIMPROP_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL,
@ -92,10 +92,10 @@ CREATE TABLE QRTZ_SIMPROP_TRIGGERS
BOOL_PROP_2 VARCHAR(1) NULL, BOOL_PROP_2 VARCHAR(1) NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES XXL_JOB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
); );
CREATE TABLE QRTZ_BLOB_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_BLOB_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL,
@ -103,10 +103,10 @@ CREATE TABLE QRTZ_BLOB_TRIGGERS
BLOB_DATA BLOB NULL, BLOB_DATA BLOB NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) REFERENCES XXL_JOB_QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
); );
CREATE TABLE QRTZ_CALENDARS CREATE TABLE XXL_JOB_QRTZ_CALENDARS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
CALENDAR_NAME VARCHAR(200) NOT NULL, CALENDAR_NAME VARCHAR(200) NOT NULL,
@ -114,14 +114,14 @@ CREATE TABLE QRTZ_CALENDARS
PRIMARY KEY (SCHED_NAME,CALENDAR_NAME) PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
); );
CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS CREATE TABLE XXL_JOB_QRTZ_PAUSED_TRIGGER_GRPS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_GROUP VARCHAR(200) NOT NULL, TRIGGER_GROUP VARCHAR(200) NOT NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP) PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
); );
CREATE TABLE QRTZ_FIRED_TRIGGERS CREATE TABLE XXL_JOB_QRTZ_FIRED_TRIGGERS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
ENTRY_ID VARCHAR(95) NOT NULL, ENTRY_ID VARCHAR(95) NOT NULL,
@ -139,7 +139,7 @@ CREATE TABLE QRTZ_FIRED_TRIGGERS
PRIMARY KEY (SCHED_NAME,ENTRY_ID) PRIMARY KEY (SCHED_NAME,ENTRY_ID)
); );
CREATE TABLE QRTZ_SCHEDULER_STATE CREATE TABLE XXL_JOB_QRTZ_SCHEDULER_STATE
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
INSTANCE_NAME VARCHAR(200) NOT NULL, INSTANCE_NAME VARCHAR(200) NOT NULL,
@ -148,7 +148,7 @@ CREATE TABLE QRTZ_SCHEDULER_STATE
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME) PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
); );
CREATE TABLE QRTZ_LOCKS CREATE TABLE XXL_JOB_QRTZ_LOCKS
( (
SCHED_NAME VARCHAR(120) NOT NULL, SCHED_NAME VARCHAR(120) NOT NULL,
LOCK_NAME VARCHAR(40) NOT NULL, LOCK_NAME VARCHAR(40) NOT NULL,
@ -156,7 +156,7 @@ CREATE TABLE QRTZ_LOCKS
); );
CREATE TABLE `qrtz_trigger_log` ( CREATE TABLE `xxl_job_qrtz_trigger_log` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
`job_name` varchar(255) NOT NULL, `job_name` varchar(255) NOT NULL,
`job_cron` varchar(128) DEFAULT NULL, `job_cron` varchar(128) DEFAULT NULL,

View File

@ -35,7 +35,7 @@
</sql> </sql>
<insert id="save" parameterType="com.xxl.job.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" > <insert id="save" parameterType="com.xxl.job.core.model.XxlJobLog" useGeneratedKeys="true" keyProperty="id" >
INSERT INTO `qrtz_trigger_log` ( INSERT INTO `xxl_job_qrtz_trigger_log` (
`job_name`, `job_name`,
`job_cron`, `job_cron`,
`job_class`, `job_class`,
@ -53,12 +53,12 @@
<select id="load" parameterType="java.lang.Integer" resultMap="XxlJobLog"> <select id="load" parameterType="java.lang.Integer" resultMap="XxlJobLog">
SELECT <include refid="Base_Column_List" /> SELECT <include refid="Base_Column_List" />
FROM qrtz_trigger_log AS t FROM xxl_job_qrtz_trigger_log AS t
WHERE t.id = #{id} WHERE t.id = #{id}
</select> </select>
<update id="updateTriggerInfo"> <update id="updateTriggerInfo">
UPDATE `qrtz_trigger_log` UPDATE `xxl_job_qrtz_trigger_log`
SET SET
`trigger_time`= #{triggerTime}, `trigger_time`= #{triggerTime},
`trigger_status`= #{triggerStatus}, `trigger_status`= #{triggerStatus},
@ -67,7 +67,7 @@
</update> </update>
<update id="updateHandleInfo"> <update id="updateHandleInfo">
UPDATE `qrtz_trigger_log` UPDATE `xxl_job_qrtz_trigger_log`
SET SET
`handle_time`= #{handleTime}, `handle_time`= #{handleTime},
`handle_status`= #{handleStatus}, `handle_status`= #{handleStatus},
@ -77,7 +77,7 @@
<select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobLog"> <select id="pageList" parameterType="java.util.HashMap" resultMap="XxlJobLog">
SELECT <include refid="Base_Column_List" /> SELECT <include refid="Base_Column_List" />
FROM qrtz_trigger_log AS t FROM xxl_job_qrtz_trigger_log AS t
<trim prefix="WHERE" prefixOverrides="AND | OR" > <trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobName != null and jobName!=''"> <if test="jobName != null and jobName!=''">
AND t.job_name = #{jobName} AND t.job_name = #{jobName}
@ -95,7 +95,7 @@
<select id="pageListCount" parameterType="java.util.HashMap" resultType="int"> <select id="pageListCount" parameterType="java.util.HashMap" resultType="int">
SELECT count(1) SELECT count(1)
FROM qrtz_trigger_log AS t FROM xxl_job_qrtz_trigger_log AS t
<trim prefix="WHERE" prefixOverrides="AND | OR" > <trim prefix="WHERE" prefixOverrides="AND | OR" >
<if test="jobName != null and jobName!=''"> <if test="jobName != null and jobName!=''">
AND t.job_name = #{jobName} AND t.job_name = #{jobName}

View File

@ -20,6 +20,9 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
@Override @Override
public int save(XxlJobLog xxlJobLog) { public int save(XxlJobLog xxlJobLog) {
if (xxlJobLog!=null && xxlJobLog.getJobData().length()>2000) {
xxlJobLog.setJobData(xxlJobLog.getJobData().substring(0, 2000));
}
return sqlSessionTemplate.insert("XxlJobLogMapper.save", xxlJobLog); return sqlSessionTemplate.insert("XxlJobLogMapper.save", xxlJobLog);
} }
@ -30,11 +33,17 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
@Override @Override
public int updateTriggerInfo(XxlJobLog xxlJobLog) { public int updateTriggerInfo(XxlJobLog xxlJobLog) {
if (xxlJobLog!=null && xxlJobLog.getTriggerMsg().length()>2000) {
xxlJobLog.setTriggerMsg(xxlJobLog.getTriggerMsg().substring(0, 2000));
}
return sqlSessionTemplate.update("XxlJobLogMapper.updateTriggerInfo", xxlJobLog); return sqlSessionTemplate.update("XxlJobLogMapper.updateTriggerInfo", xxlJobLog);
} }
@Override @Override
public int updateHandleInfo(XxlJobLog xxlJobLog) { public int updateHandleInfo(XxlJobLog xxlJobLog) {
if (xxlJobLog!=null && xxlJobLog.getHandleMsg().length()>2000) {
xxlJobLog.setHandleMsg(xxlJobLog.getHandleMsg().substring(0, 2000));
}
return sqlSessionTemplate.update("XxlJobLogMapper.updateHandleInfo", xxlJobLog); return sqlSessionTemplate.update("XxlJobLogMapper.updateHandleInfo", xxlJobLog);
} }

View File

@ -69,7 +69,7 @@ public class HttpJobBean extends QuartzJobBean {
jobLog.setTriggerTime(new Date()); jobLog.setTriggerTime(new Date());
jobLog.setTriggerStatus(HttpUtil.FAIL); jobLog.setTriggerStatus(HttpUtil.FAIL);
jobLog.setTriggerMsg(exceptionMsg); jobLog.setTriggerMsg("[responseMsg]:"+responseMsg+"<br>[exceptionMsg]:"+exceptionMsg);
if (StringUtils.isNotBlank(responseMsg)) { if (StringUtils.isNotBlank(responseMsg)) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
Map<String, String> responseMap = JacksonUtil.readValue(responseMsg, Map.class); Map<String, String> responseMap = JacksonUtil.readValue(responseMsg, Map.class);

View File

@ -18,7 +18,7 @@ org.quartz.jobStore.misfireThreshold: 60000
#org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore #org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
# for cluster # for cluster
#org.quartz.jobStore.tablePrefix = WED_qrtz_ org.quartz.jobStore.tablePrefix = XXL_JOB_QRTZ_
org.quartz.scheduler.instanceId: AUTO org.quartz.scheduler.instanceId: AUTO
org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.isClustered: true org.quartz.jobStore.isClustered: true

View File

@ -43,9 +43,11 @@ public class HttpUtil {
String exceptionMsg = null; String exceptionMsg = null;
// do post // do post
HttpPost httpPost = new HttpPost(reqURL); HttpPost httpPost = null;
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = null;
try{ try{
httpPost = new HttpPost(reqURL);
httpClient = HttpClients.createDefault();
if (params != null && !params.isEmpty()) { if (params != null && !params.isEmpty()) {
List<NameValuePair> formParams = new ArrayList<NameValuePair>(); List<NameValuePair> formParams = new ArrayList<NameValuePair>();
for(Map.Entry<String,String> entry : params.entrySet()){ for(Map.Entry<String,String> entry : params.entrySet()){
@ -68,11 +70,15 @@ public class HttpUtil {
e.printStackTrace(new PrintWriter(out)); e.printStackTrace(new PrintWriter(out));
exceptionMsg = out.toString(); exceptionMsg = out.toString();
} finally{ } finally{
httpPost.releaseConnection(); if (httpPost!=null) {
try { httpPost.releaseConnection();
httpClient.close(); }
} catch (IOException e) { if (httpClient!=null) {
e.printStackTrace(); try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
} }