diff --git a/README.md b/README.md index f91e4ad5..b10ef4f5 100644 --- a/README.md +++ b/README.md @@ -29,5 +29,5 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job # 其他说明 清楚僵尸任务:qrtz_cron_triggers、qrtz_triggers、qrtz_job_details顺序删除 - V1.2新增任务日志,记得执行“qrtz_trigger_log”生成表结构 + V1.2新增任务日志,记得执行“tables_xxl_log.sql”生成表结构 \ No newline at end of file diff --git a/doc/db/tables_xxl_log.sql b/doc/db/tables_xxl_log.sql index 3ce0f7dc..6af3e0a0 100644 --- a/doc/db/tables_xxl_log.sql +++ b/doc/db/tables_xxl_log.sql @@ -11,7 +11,7 @@ # DROP TABLE IF EXISTS XXL_JOB_QRTZ_CALENDARS; # 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, JOB_NAME VARCHAR(200) NOT NULL, @@ -26,7 +26,7 @@ CREATE TABLE QRTZ_JOB_DETAILS PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) ); -CREATE TABLE QRTZ_TRIGGERS +CREATE TABLE XXL_JOB_QRTZ_TRIGGERS ( SCHED_NAME VARCHAR(120) NOT NULL, TRIGGER_NAME VARCHAR(200) NOT NULL, @@ -46,10 +46,10 @@ CREATE TABLE QRTZ_TRIGGERS JOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) - REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP) + 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, TRIGGER_NAME VARCHAR(200) NOT NULL, @@ -59,10 +59,10 @@ CREATE TABLE QRTZ_SIMPLE_TRIGGERS TIMES_TRIGGERED BIGINT(10) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) - REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + 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, TRIGGER_NAME VARCHAR(200) NOT NULL, @@ -71,10 +71,10 @@ CREATE TABLE QRTZ_CRON_TRIGGERS TIME_ZONE_ID VARCHAR(80), PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) - REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + 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, TRIGGER_NAME VARCHAR(200) NOT NULL, @@ -92,10 +92,10 @@ CREATE TABLE QRTZ_SIMPROP_TRIGGERS BOOL_PROP_2 VARCHAR(1) NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) - REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + 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, TRIGGER_NAME VARCHAR(200) NOT NULL, @@ -103,10 +103,10 @@ CREATE TABLE QRTZ_BLOB_TRIGGERS BLOB_DATA BLOB NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) - REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + 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, CALENDAR_NAME VARCHAR(200) NOT NULL, @@ -114,14 +114,14 @@ CREATE TABLE QRTZ_CALENDARS 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, TRIGGER_GROUP VARCHAR(200) NOT NULL, PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP) ); -CREATE TABLE QRTZ_FIRED_TRIGGERS +CREATE TABLE XXL_JOB_QRTZ_FIRED_TRIGGERS ( SCHED_NAME VARCHAR(120) NOT NULL, ENTRY_ID VARCHAR(95) NOT NULL, @@ -139,7 +139,7 @@ CREATE TABLE QRTZ_FIRED_TRIGGERS PRIMARY KEY (SCHED_NAME,ENTRY_ID) ); -CREATE TABLE QRTZ_SCHEDULER_STATE +CREATE TABLE XXL_JOB_QRTZ_SCHEDULER_STATE ( SCHED_NAME VARCHAR(120) NOT NULL, INSTANCE_NAME VARCHAR(200) NOT NULL, @@ -148,7 +148,7 @@ CREATE TABLE QRTZ_SCHEDULER_STATE PRIMARY KEY (SCHED_NAME,INSTANCE_NAME) ); -CREATE TABLE QRTZ_LOCKS +CREATE TABLE XXL_JOB_QRTZ_LOCKS ( SCHED_NAME VARCHAR(120) 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, `job_name` varchar(255) NOT NULL, `job_cron` varchar(128) DEFAULT NULL, diff --git a/xxl-job-admin/src/main/java/com/xxl/job/core/model/mapper/XxlJobLogMapper.xml b/xxl-job-admin/src/main/java/com/xxl/job/core/model/mapper/XxlJobLogMapper.xml index 5015501a..24f1179c 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/core/model/mapper/XxlJobLogMapper.xml +++ b/xxl-job-admin/src/main/java/com/xxl/job/core/model/mapper/XxlJobLogMapper.xml @@ -35,7 +35,7 @@ - INSERT INTO `qrtz_trigger_log` ( + INSERT INTO `xxl_job_qrtz_trigger_log` ( `job_name`, `job_cron`, `job_class`, @@ -53,12 +53,12 @@ - UPDATE `qrtz_trigger_log` + UPDATE `xxl_job_qrtz_trigger_log` SET `trigger_time`= #{triggerTime}, `trigger_status`= #{triggerStatus}, @@ -67,7 +67,7 @@ - UPDATE `qrtz_trigger_log` + UPDATE `xxl_job_qrtz_trigger_log` SET `handle_time`= #{handleTime}, `handle_status`= #{handleStatus}, @@ -77,7 +77,7 @@ SELECT count(1) - FROM qrtz_trigger_log AS t + FROM xxl_job_qrtz_trigger_log AS t AND t.job_name = #{jobName} diff --git a/xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogDaoImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogDaoImpl.java index 15dc9167..2ec15b97 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogDaoImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/dao/impl/XxlJobLogDaoImpl.java @@ -20,6 +20,9 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao { @Override 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); } @@ -30,11 +33,17 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao { @Override 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); } @Override 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); } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/service/job/HttpJobBean.java b/xxl-job-admin/src/main/java/com/xxl/job/service/job/HttpJobBean.java index b23c2b52..d90e33ff 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/service/job/HttpJobBean.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/service/job/HttpJobBean.java @@ -69,7 +69,7 @@ public class HttpJobBean extends QuartzJobBean { jobLog.setTriggerTime(new Date()); jobLog.setTriggerStatus(HttpUtil.FAIL); - jobLog.setTriggerMsg(exceptionMsg); + jobLog.setTriggerMsg("[responseMsg]:"+responseMsg+"
[exceptionMsg]:"+exceptionMsg); if (StringUtils.isNotBlank(responseMsg)) { @SuppressWarnings("unchecked") Map responseMap = JacksonUtil.readValue(responseMsg, Map.class); diff --git a/xxl-job-admin/src/main/resources/quartz.properties b/xxl-job-admin/src/main/resources/quartz.properties index ecda6e90..eaeca551 100644 --- a/xxl-job-admin/src/main/resources/quartz.properties +++ b/xxl-job-admin/src/main/resources/quartz.properties @@ -18,7 +18,7 @@ org.quartz.jobStore.misfireThreshold: 60000 #org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore # for cluster -#org.quartz.jobStore.tablePrefix = WED_qrtz_ +org.quartz.jobStore.tablePrefix = XXL_JOB_QRTZ_ org.quartz.scheduler.instanceId: AUTO org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.isClustered: true diff --git a/xxl-job-client/src/main/java/com/xxl/job/client/util/HttpUtil.java b/xxl-job-client/src/main/java/com/xxl/job/client/util/HttpUtil.java index 89adaeb6..99d7fcd5 100644 --- a/xxl-job-client/src/main/java/com/xxl/job/client/util/HttpUtil.java +++ b/xxl-job-client/src/main/java/com/xxl/job/client/util/HttpUtil.java @@ -43,9 +43,11 @@ public class HttpUtil { String exceptionMsg = null; // do post - HttpPost httpPost = new HttpPost(reqURL); - CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = null; + CloseableHttpClient httpClient = null; try{ + httpPost = new HttpPost(reqURL); + httpClient = HttpClients.createDefault(); if (params != null && !params.isEmpty()) { List formParams = new ArrayList(); for(Map.Entry entry : params.entrySet()){ @@ -68,11 +70,15 @@ public class HttpUtil { e.printStackTrace(new PrintWriter(out)); exceptionMsg = out.toString(); } finally{ - httpPost.releaseConnection(); - try { - httpClient.close(); - } catch (IOException e) { - e.printStackTrace(); + if (httpPost!=null) { + httpPost.releaseConnection(); + } + if (httpClient!=null) { + try { + httpClient.close(); + } catch (IOException e) { + e.printStackTrace(); + } } }