xueli.xue 8 年之前
父節點
當前提交
b590a65c4a

+ 3 - 3
db/tables_xxl_job.sql

@@ -165,7 +165,7 @@ CREATE TABLE XXL_JOB_QRTZ_TRIGGER_INFO (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
 
 
-CREATE TABLE XXL_JOB_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_group` int(11) NOT NULL COMMENT '任务组',
   `job_group` int(11) NOT NULL COMMENT '任务组',
   `job_name` varchar(255) NOT NULL COMMENT '任务名',
   `job_name` varchar(255) NOT NULL COMMENT '任务名',
@@ -173,10 +173,10 @@ CREATE TABLE XXL_JOB_QRTZ_TRIGGER_LOG (
   `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
   `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
   `executor_param` varchar(255) DEFAULT NULL COMMENT 'executor_param',
   `executor_param` varchar(255) DEFAULT NULL COMMENT 'executor_param',
   `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
   `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
-  `trigger_status` varchar(255) DEFAULT NULL COMMENT '调度-结果',
+  `trigger_code` varchar(255) DEFAULT NULL COMMENT '调度-结果',
   `trigger_msg` varchar(2048) DEFAULT NULL COMMENT '调度-日志',
   `trigger_msg` varchar(2048) DEFAULT NULL COMMENT '调度-日志',
   `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
   `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
-  `handle_status` varchar(255) DEFAULT NULL COMMENT '执行-状态',
+  `handle_code` varchar(255) DEFAULT NULL COMMENT '执行-状态',
   `handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志',
   `handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志',
   PRIMARY KEY (`id`)
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 3 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java

@@ -97,7 +97,7 @@ public class JobLogController {
 		if (log == null) {
 		if (log == null) {
 			return new ReturnT<String>(500, "查看执行日志失败: 参数异常");
 			return new ReturnT<String>(500, "查看执行日志失败: 参数异常");
 		}
 		}
-		if (!((ReturnT.SUCCESS_CODE+"").equals(log.getTriggerStatus()) || StringUtils.isNotBlank(log.getHandleStatus()))) {
+		if (ReturnT.SUCCESS_CODE != log.getTriggerCode()) {
 			return new ReturnT<String>(500, "查看执行日志失败: 任务发起调度失败,无法查看执行日志");
 			return new ReturnT<String>(500, "查看执行日志失败: 任务发起调度失败,无法查看执行日志");
 		}
 		}
 		
 		
@@ -134,7 +134,7 @@ public class JobLogController {
 		if (log == null || jobInfo==null) {
 		if (log == null || jobInfo==null) {
 			return new ReturnT<String>(500, "参数异常");
 			return new ReturnT<String>(500, "参数异常");
 		}
 		}
-		if (!(ReturnT.SUCCESS_CODE +"").equals(log.getTriggerStatus())) {
+		if (ReturnT.SUCCESS_CODE != log.getTriggerCode()) {
 			return new ReturnT<String>(500, "调度失败,无法终止日志");
 			return new ReturnT<String>(500, "调度失败,无法终止日志");
 		}
 		}
 
 
@@ -149,7 +149,7 @@ public class JobLogController {
 		ReturnT<String> runResult = executorBiz.kill(String.valueOf(log.getJobGroup()), log.getJobName());
 		ReturnT<String> runResult = executorBiz.kill(String.valueOf(log.getJobGroup()), log.getJobName());
 
 
 		if (ReturnT.SUCCESS_CODE == runResult.getCode()) {
 		if (ReturnT.SUCCESS_CODE == runResult.getCode()) {
-			log.setHandleStatus(ReturnT.SUCCESS_CODE+"");
+			log.setHandleCode(ReturnT.SUCCESS_CODE);
 			log.setHandleMsg("人为操作主动终止");
 			log.setHandleMsg("人为操作主动终止");
 			log.setHandleTime(new Date());
 			log.setHandleTime(new Date());
 			xxlJobLogDao.updateHandleInfo(log);
 			xxlJobLogDao.updateHandleInfo(log);

+ 10 - 7
xxl-job-admin/src/main/java/com/xxl/job/admin/core/biz/AdminBizImpl.java

@@ -4,8 +4,8 @@ import com.xxl.job.admin.core.model.XxlJobInfo;
 import com.xxl.job.admin.core.model.XxlJobLog;
 import com.xxl.job.admin.core.model.XxlJobLog;
 import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
 import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
 import com.xxl.job.core.biz.AdminBiz;
 import com.xxl.job.core.biz.AdminBiz;
+import com.xxl.job.core.biz.model.HandleCallbackParam;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.biz.model.TriggerParam;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.StringUtils;
 import org.quartz.SchedulerException;
 import org.quartz.SchedulerException;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -21,17 +21,17 @@ public class AdminBizImpl implements AdminBiz {
     private static Logger logger = LoggerFactory.getLogger(AdminBizImpl.class);
     private static Logger logger = LoggerFactory.getLogger(AdminBizImpl.class);
 
 
     @Override
     @Override
-    public ReturnT<String> callback(TriggerParam triggerParam) {
+    public ReturnT<String> callback(HandleCallbackParam handleCallbackParam) {
 
 
         // valid log item
         // valid log item
-        XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(triggerParam.getLogId());
+        XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(handleCallbackParam.getLogId());
         if (log == null) {
         if (log == null) {
             return new ReturnT(ReturnT.FAIL_CODE, "log item not found.");
             return new ReturnT(ReturnT.FAIL_CODE, "log item not found.");
         }
         }
 
 
         // trigger success, to trigger child job, and avoid repeat trigger child job
         // trigger success, to trigger child job, and avoid repeat trigger child job
         String childTriggerMsg = null;
         String childTriggerMsg = null;
-        if ((ReturnT.SUCCESS_CODE+"").equals(triggerParam.getStatus()) && !(ReturnT.SUCCESS_CODE+"").equals(log.getHandleStatus())) {
+        if (ReturnT.SUCCESS_CODE==handleCallbackParam.getCode() && ReturnT.SUCCESS_CODE!=log.getHandleCode()) {
             XxlJobInfo xxlJobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
             XxlJobInfo xxlJobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
             if (xxlJobInfo!=null && StringUtils.isNotBlank(xxlJobInfo.getChildJobKey())) {
             if (xxlJobInfo!=null && StringUtils.isNotBlank(xxlJobInfo.getChildJobKey())) {
                 childTriggerMsg = "<hr>";
                 childTriggerMsg = "<hr>";
@@ -65,8 +65,11 @@ public class AdminBizImpl implements AdminBiz {
 
 
         // handle msg
         // handle msg
         StringBuffer handleMsg = new StringBuffer();
         StringBuffer handleMsg = new StringBuffer();
-        if (triggerParam.getMsg() != null) {
-            handleMsg.append("执行备注:").append(triggerParam.getMsg());
+        if (log.getHandleMsg()!=null) {
+            handleMsg.append(log.getHandleMsg()).append("<br>");
+        }
+        if (handleCallbackParam.getMsg() != null) {
+            handleMsg.append("执行备注:").append(handleCallbackParam.getMsg());
         }
         }
         if (childTriggerMsg !=null) {
         if (childTriggerMsg !=null) {
             handleMsg.append("<br>子任务触发备注:").append(childTriggerMsg);
             handleMsg.append("<br>子任务触发备注:").append(childTriggerMsg);
@@ -74,7 +77,7 @@ public class AdminBizImpl implements AdminBiz {
 
 
         // success, save log
         // success, save log
         log.setHandleTime(new Date());
         log.setHandleTime(new Date());
-        log.setHandleStatus(triggerParam.getStatus());
+        log.setHandleCode(handleCallbackParam.getCode());
         log.setHandleMsg(handleMsg.toString());
         log.setHandleMsg(handleMsg.toString());
         DynamicSchedulerUtil.xxlJobLogDao.updateHandleInfo(log);
         DynamicSchedulerUtil.xxlJobLogDao.updateHandleInfo(log);
 
 

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java

@@ -80,7 +80,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
 		logger.info(">>>>>>>>>>> xxl-job failoverTrigger response, jobId:{}, responseModel:{}", jobLog.getId(), responseModel.toString());
 		logger.info(">>>>>>>>>>> xxl-job failoverTrigger response, jobId:{}, responseModel:{}", jobLog.getId(), responseModel.toString());
 		
 		
 		// update trigger info 2/2
 		// update trigger info 2/2
-		jobLog.setTriggerStatus(responseModel.getCode()+"");
+		jobLog.setTriggerCode(responseModel.getCode());
 		jobLog.setTriggerMsg(responseModel.getMsg());
 		jobLog.setTriggerMsg(responseModel.getMsg());
 		DynamicSchedulerUtil.xxlJobLogDao.updateTriggerInfo(jobLog);
 		DynamicSchedulerUtil.xxlJobLogDao.updateTriggerInfo(jobLog);
 
 

+ 39 - 16
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLog.java

@@ -13,92 +13,115 @@ public class XxlJobLog {
 	// job info
 	// job info
 	private int jobGroup;
 	private int jobGroup;
 	private String jobName;
 	private String jobName;
-	
-	private String executorAddress;	// 执行器地址,有多个则逗号分隔
-	private String executorHandler;	// 执行器Handler
-	private String executorParam;	// 执行器,任务参数
+
+	// execute info
+	private String executorAddress;
+	private String executorHandler;
+	private String executorParam;
 	
 	
 	// trigger info
 	// trigger info
 	private Date triggerTime;
 	private Date triggerTime;
-	private String triggerStatus;
+	private int triggerCode;
 	private String triggerMsg;
 	private String triggerMsg;
 	
 	
 	// handle info
 	// handle info
 	private Date handleTime;
 	private Date handleTime;
-	private String handleStatus;
+	private int handleCode;
 	private String handleMsg;
 	private String handleMsg;
-	
+
 	public int getId() {
 	public int getId() {
 		return id;
 		return id;
 	}
 	}
+
 	public void setId(int id) {
 	public void setId(int id) {
 		this.id = id;
 		this.id = id;
 	}
 	}
+
 	public int getJobGroup() {
 	public int getJobGroup() {
 		return jobGroup;
 		return jobGroup;
 	}
 	}
+
 	public void setJobGroup(int jobGroup) {
 	public void setJobGroup(int jobGroup) {
 		this.jobGroup = jobGroup;
 		this.jobGroup = jobGroup;
 	}
 	}
+
 	public String getJobName() {
 	public String getJobName() {
 		return jobName;
 		return jobName;
 	}
 	}
+
 	public void setJobName(String jobName) {
 	public void setJobName(String jobName) {
 		this.jobName = jobName;
 		this.jobName = jobName;
 	}
 	}
+
 	public String getExecutorAddress() {
 	public String getExecutorAddress() {
 		return executorAddress;
 		return executorAddress;
 	}
 	}
+
 	public void setExecutorAddress(String executorAddress) {
 	public void setExecutorAddress(String executorAddress) {
 		this.executorAddress = executorAddress;
 		this.executorAddress = executorAddress;
 	}
 	}
+
 	public String getExecutorHandler() {
 	public String getExecutorHandler() {
 		return executorHandler;
 		return executorHandler;
 	}
 	}
+
 	public void setExecutorHandler(String executorHandler) {
 	public void setExecutorHandler(String executorHandler) {
 		this.executorHandler = executorHandler;
 		this.executorHandler = executorHandler;
 	}
 	}
+
 	public String getExecutorParam() {
 	public String getExecutorParam() {
 		return executorParam;
 		return executorParam;
 	}
 	}
+
 	public void setExecutorParam(String executorParam) {
 	public void setExecutorParam(String executorParam) {
 		this.executorParam = executorParam;
 		this.executorParam = executorParam;
 	}
 	}
+
 	public Date getTriggerTime() {
 	public Date getTriggerTime() {
 		return triggerTime;
 		return triggerTime;
 	}
 	}
+
 	public void setTriggerTime(Date triggerTime) {
 	public void setTriggerTime(Date triggerTime) {
 		this.triggerTime = triggerTime;
 		this.triggerTime = triggerTime;
 	}
 	}
-	public String getTriggerStatus() {
-		return triggerStatus;
+
+	public int getTriggerCode() {
+		return triggerCode;
 	}
 	}
-	public void setTriggerStatus(String triggerStatus) {
-		this.triggerStatus = triggerStatus;
+
+	public void setTriggerCode(int triggerCode) {
+		this.triggerCode = triggerCode;
 	}
 	}
+
 	public String getTriggerMsg() {
 	public String getTriggerMsg() {
 		return triggerMsg;
 		return triggerMsg;
 	}
 	}
+
 	public void setTriggerMsg(String triggerMsg) {
 	public void setTriggerMsg(String triggerMsg) {
 		this.triggerMsg = triggerMsg;
 		this.triggerMsg = triggerMsg;
 	}
 	}
+
 	public Date getHandleTime() {
 	public Date getHandleTime() {
 		return handleTime;
 		return handleTime;
 	}
 	}
+
 	public void setHandleTime(Date handleTime) {
 	public void setHandleTime(Date handleTime) {
 		this.handleTime = handleTime;
 		this.handleTime = handleTime;
 	}
 	}
-	public String getHandleStatus() {
-		return handleStatus;
+
+	public int getHandleCode() {
+		return handleCode;
 	}
 	}
-	public void setHandleStatus(String handleStatus) {
-		this.handleStatus = handleStatus;
+
+	public void setHandleCode(int handleCode) {
+		this.handleCode = handleCode;
 	}
 	}
+
 	public String getHandleMsg() {
 	public String getHandleMsg() {
 		return handleMsg;
 		return handleMsg;
 	}
 	}
+
 	public void setHandleMsg(String handleMsg) {
 	public void setHandleMsg(String handleMsg) {
 		this.handleMsg = handleMsg;
 		this.handleMsg = handleMsg;
 	}
 	}
-	
 }
 }

+ 5 - 5
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java

@@ -6,7 +6,6 @@ import com.xxl.job.admin.core.model.XxlJobLog;
 import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
 import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
 import com.xxl.job.admin.core.util.MailUtil;
 import com.xxl.job.admin.core.util.MailUtil;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.ReturnT;
-import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 
 
@@ -41,7 +40,8 @@ public class JobMonitorHelper {
 							logger.info(">>>>>>>>>>> job monitor heat success, JobLogId:{}", jobLogId);
 							logger.info(">>>>>>>>>>> job monitor heat success, JobLogId:{}", jobLogId);
 							XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(jobLogId);
 							XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(jobLogId);
 							if (log!=null) {
 							if (log!=null) {
-								if ((ReturnT.SUCCESS_CODE+"").equals(log.getTriggerStatus()) && StringUtils.isBlank(log.getHandleStatus())) {
+								if (ReturnT.SUCCESS_CODE==log.getTriggerCode() && log.getHandleCode()==0) {
+									// running
 									try {
 									try {
 										TimeUnit.SECONDS.sleep(10);
 										TimeUnit.SECONDS.sleep(10);
 									} catch (InterruptedException e) {
 									} catch (InterruptedException e) {
@@ -49,16 +49,16 @@ public class JobMonitorHelper {
 									}
 									}
 									JobMonitorHelper.monitor(jobLogId);
 									JobMonitorHelper.monitor(jobLogId);
 								}
 								}
-								if ((ReturnT.SUCCESS_CODE+"").equals(log.getTriggerStatus()) && (ReturnT.SUCCESS_CODE+"").equals(log.getHandleStatus())) {
+								if (ReturnT.SUCCESS_CODE==log.getTriggerCode() && ReturnT.SUCCESS_CODE==log.getHandleCode()) {
 									// pass
 									// pass
 								}
 								}
-								if ((ReturnT.FAIL+"").equals(log.getTriggerStatus()) || (ReturnT.FAIL+"").equals(log.getHandleStatus())) {
+								if (ReturnT.FAIL_CODE == log.getTriggerCode()|| ReturnT.FAIL_CODE==log.getHandleCode()) {
 									XxlJobInfo info = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
 									XxlJobInfo info = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
 									if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
 									if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
 
 
 										Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
 										Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
 										for (String email: emailSet) {
 										for (String email: emailSet) {
-											String title = "《调度监控报警-任务调度中心XXL-JOB》";
+											String title = "《调度监控报警》(任务调度中心XXL-JOB)";
 											XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(Integer.valueOf(info.getJobGroup()));
 											XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(Integer.valueOf(info.getJobGroup()));
 											String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc());
 											String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc());
 											MailUtil.sendMail(email, title, content, false, null);
 											MailUtil.sendMail(email, title, content, false, null);

+ 6 - 6
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml

@@ -14,11 +14,11 @@
 	    <result column="executor_param" property="executorParam" />
 	    <result column="executor_param" property="executorParam" />
 	    
 	    
 	    <result column="trigger_time" property="triggerTime" />
 	    <result column="trigger_time" property="triggerTime" />
-	    <result column="trigger_status" property="triggerStatus" />
+	    <result column="trigger_code" property="triggerCode" />
 	    <result column="trigger_msg" property="triggerMsg" />
 	    <result column="trigger_msg" property="triggerMsg" />
 	    
 	    
 	    <result column="handle_time" property="handleTime" />
 	    <result column="handle_time" property="handleTime" />
-	    <result column="handle_status" property="handleStatus" />
+	    <result column="handle_code" property="handleCode" />
 	    <result column="handle_msg" property="handleMsg" />
 	    <result column="handle_msg" property="handleMsg" />
 	    
 	    
 	</resultMap>
 	</resultMap>
@@ -31,10 +31,10 @@
 		t.executor_handler,
 		t.executor_handler,
 		t.executor_param,
 		t.executor_param,
 		t.trigger_time,
 		t.trigger_time,
-		t.trigger_status,
+		t.trigger_code,
 		t.trigger_msg,
 		t.trigger_msg,
 		t.handle_time,
 		t.handle_time,
-		t.handle_status,
+		t.handle_code,
 		t.handle_msg
 		t.handle_msg
 	</sql>
 	</sql>
 	
 	
@@ -108,7 +108,7 @@
 		UPDATE XXL_JOB_QRTZ_TRIGGER_LOG
 		UPDATE XXL_JOB_QRTZ_TRIGGER_LOG
 		SET 
 		SET 
 			`trigger_time`= #{triggerTime}, 
 			`trigger_time`= #{triggerTime}, 
-			`trigger_status`= #{triggerStatus}, 
+			`trigger_code`= #{triggerCode},
 			`trigger_msg`= #{triggerMsg},
 			`trigger_msg`= #{triggerMsg},
 			`executor_address`= #{executorAddress},
 			`executor_address`= #{executorAddress},
 			`executor_handler`=#{executorHandler},
 			`executor_handler`=#{executorHandler},
@@ -120,7 +120,7 @@
 		UPDATE XXL_JOB_QRTZ_TRIGGER_LOG
 		UPDATE XXL_JOB_QRTZ_TRIGGER_LOG
 		SET 
 		SET 
 			`handle_time`= #{handleTime}, 
 			`handle_time`= #{handleTime}, 
-			`handle_status`= #{handleStatus}, 
+			`handle_code`= #{handleCode},
 			`handle_msg`= #{handleMsg} 
 			`handle_msg`= #{handleMsg} 
 		WHERE `id`= #{id}
 		WHERE `id`= #{id}
 	</update>
 	</update>

+ 2 - 2
xxl-job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java

@@ -1,13 +1,13 @@
 package com.xxl.job.core.biz;
 package com.xxl.job.core.biz;
 
 
+import com.xxl.job.core.biz.model.HandleCallbackParam;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.biz.model.TriggerParam;
 
 
 /**
 /**
  * Created by xuxueli on 17/3/1.
  * Created by xuxueli on 17/3/1.
  */
  */
 public interface AdminBiz {
 public interface AdminBiz {
 
 
-    public ReturnT<String> callback(TriggerParam triggerParam);
+    public ReturnT<String> callback(HandleCallbackParam handleCallbackParam);
 
 
 }
 }

+ 57 - 0
xxl-job-core/src/main/java/com/xxl/job/core/biz/model/HandleCallbackParam.java

@@ -0,0 +1,57 @@
+package com.xxl.job.core.biz.model;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ * Created by xuxueli on 17/3/2.
+ */
+public class HandleCallbackParam implements Serializable {
+    private static final long serialVersionUID = 42L;
+
+    private int logId;
+    private Set<String> logAddress;
+
+    private int code;
+    private String msg;
+
+    public HandleCallbackParam(int logId, Set<String> logAddress, int code, String msg) {
+        this.logId = logId;
+        this.logAddress = logAddress;
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public int getLogId() {
+        return logId;
+    }
+
+    public void setLogId(int logId) {
+        this.logId = logId;
+    }
+
+    public Set<String> getLogAddress() {
+        return logAddress;
+    }
+
+    public void setLogAddress(Set<String> logAddress) {
+        this.logAddress = logAddress;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+}

+ 0 - 21
xxl-job-core/src/main/java/com/xxl/job/core/biz/model/TriggerParam.java

@@ -23,9 +23,6 @@ public class TriggerParam implements Serializable{
     private int logId;
     private int logId;
     private long logDateTim;
     private long logDateTim;
 
 
-    private String status;
-    private String msg;
-
     public String getAction() {
     public String getAction() {
         return action;
         return action;
     }
     }
@@ -98,22 +95,6 @@ public class TriggerParam implements Serializable{
         this.logDateTim = logDateTim;
         this.logDateTim = logDateTim;
     }
     }
 
 
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "RequestModel{" +
         return "RequestModel{" +
@@ -126,8 +107,6 @@ public class TriggerParam implements Serializable{
                 ", logAddress=" + logAddress +
                 ", logAddress=" + logAddress +
                 ", logId=" + logId +
                 ", logId=" + logId +
                 ", logDateTim=" + logDateTim +
                 ", logDateTim=" + logDateTim +
-                ", status='" + status + '\'' +
-                ", msg='" + msg + '\'' +
                 '}';
                 '}';
     }
     }
 }
 }

+ 4 - 9
xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java

@@ -1,5 +1,6 @@
 package com.xxl.job.core.thread;
 package com.xxl.job.core.thread;
 
 
+import com.xxl.job.core.biz.model.HandleCallbackParam;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.TriggerParam;
 import com.xxl.job.core.biz.model.TriggerParam;
 import com.xxl.job.core.handler.IJobHandler;
 import com.xxl.job.core.handler.IJobHandler;
@@ -96,14 +97,10 @@ public class JobThread extends Thread{
 					// callback handler info
 					// callback handler info
 					if (!toStop) {
 					if (!toStop) {
 						// commonm
 						// commonm
-						triggerParam.setStatus(_code+"");
-						triggerParam.setMsg(_msg);
-						TriggerCallbackThread.pushCallBack(triggerParam);
+						TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogAddress(), _code, _msg));
 					} else {
 					} else {
 						// is killed
 						// is killed
-						triggerParam.setStatus(ReturnT.FAIL_CODE+"");
-						triggerParam.setMsg(stopReason + " [业务运行中,被强制终止]");
-						TriggerCallbackThread.pushCallBack(triggerParam);
+						TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogAddress(), ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]"));
 					}
 					}
 				}
 				}
 			} catch (Exception e) {
 			} catch (Exception e) {
@@ -116,9 +113,7 @@ public class JobThread extends Thread{
 			TriggerParam triggerParam = triggerQueue.poll();
 			TriggerParam triggerParam = triggerQueue.poll();
 			if (triggerParam!=null) {
 			if (triggerParam!=null) {
 				// is killed
 				// is killed
-				triggerParam.setStatus(ReturnT.FAIL_CODE+"");
-				triggerParam.setMsg(stopReason + " [任务尚未执行,在调度队列中被终止]");
-				TriggerCallbackThread.pushCallBack(triggerParam);
+				TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogAddress(), ReturnT.FAIL_CODE, stopReason + " [任务尚未执行,在调度队列中被终止]"));
 			}
 			}
 		}
 		}
 		
 		

+ 4 - 5
xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java

@@ -1,8 +1,8 @@
 package com.xxl.job.core.thread;
 package com.xxl.job.core.thread;
 
 
 import com.xxl.job.core.biz.AdminBiz;
 import com.xxl.job.core.biz.AdminBiz;
+import com.xxl.job.core.biz.model.HandleCallbackParam;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.biz.model.TriggerParam;
 import com.xxl.job.core.rpc.netcom.NetComClientProxy;
 import com.xxl.job.core.rpc.netcom.NetComClientProxy;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -15,18 +15,17 @@ import java.util.concurrent.LinkedBlockingQueue;
 public class TriggerCallbackThread {
 public class TriggerCallbackThread {
     private static Logger logger = LoggerFactory.getLogger(TriggerCallbackThread.class);
     private static Logger logger = LoggerFactory.getLogger(TriggerCallbackThread.class);
 
 
-    private static LinkedBlockingQueue<TriggerParam> callBackQueue = new LinkedBlockingQueue<TriggerParam>();
+    private static LinkedBlockingQueue<HandleCallbackParam> callBackQueue = new LinkedBlockingQueue<HandleCallbackParam>();
     static {
     static {
         new Thread(new Runnable() {
         new Thread(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
                 while(true){
                 while(true){
                     try {
                     try {
-                        TriggerParam callback = callBackQueue.take();
+                        HandleCallbackParam callback = callBackQueue.take();
                         if (callback != null) {
                         if (callback != null) {
                             for (String address : callback.getLogAddress()) {
                             for (String address : callback.getLogAddress()) {
                                 try {
                                 try {
-
                                     // callback
                                     // callback
                                     AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, address).getObject();
                                     AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, address).getObject();
                                     ReturnT<String> callbackResult = adminBiz.callback(callback);
                                     ReturnT<String> callbackResult = adminBiz.callback(callback);
@@ -47,7 +46,7 @@ public class TriggerCallbackThread {
             }
             }
         }).start();
         }).start();
     }
     }
-    public static void pushCallBack(TriggerParam callback){
+    public static void pushCallBack(HandleCallbackParam callback){
         callBackQueue.add(callback);
         callBackQueue.add(callback);
         logger.debug(">>>>>>>>>>> xxl-job, push callback request, logId:{}", callback.getLogId());
         logger.debug(">>>>>>>>>>> xxl-job, push callback request, logId:{}", callback.getLogId());
     }
     }