Pārlūkot izejas kodu

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

xueli.xue 9 gadi atpakaļ
vecāks
revīzija
832c94d64c

+ 1 - 1
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”生成表结构
 	

+ 17 - 17
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,

+ 6 - 6
xxl-job-admin/src/main/java/com/xxl/job/core/model/mapper/XxlJobLogMapper.xml

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

+ 9 - 0
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);
 	}
 

+ 1 - 1
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+"<br>[exceptionMsg]:"+exceptionMsg);
 		if (StringUtils.isNotBlank(responseMsg)) {
 			@SuppressWarnings("unchecked")
 			Map<String, String> responseMap = JacksonUtil.readValue(responseMsg, Map.class);

+ 1 - 1
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

+ 13 - 7
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<NameValuePair> formParams = new ArrayList<NameValuePair>();
 				for(Map.Entry<String,String> 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();
+				}
 			}
 		}