Browse Source

执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题;

xuxueli 4 years ago
parent
commit
bf8cd9accb

+ 2 - 1
doc/XXL-JOB官方文档.md

@@ -1755,7 +1755,8 @@ data: post-data
 - 18、执行器UI交互优化,移除冗余order属性;
 - 19、任务手动执行一次的时候,支持指定本次执行的机器地址,为空则从执行器获取
 - 20、任务结果丢失处理:调度记录停留在 "运行中" 状态超过10min,且对应执行器心跳注册失败不在线,则将本地调度主动标记失败;
-- 21、[迭代中]调度中心与执行器通讯规范为双向restful,方便跨语言,以及第三方执行器实现;通讯组件xxl-rpc方案调整为Jetty+Gson方案;
+- 21、执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题;
+- 22、[迭代中]调度中心与执行器通讯规范为双向restful,方便跨语言,以及第三方执行器实现;通讯组件xxl-rpc方案调整为Jetty+Gson方案;
 
 
 ### TODO LIST

+ 5 - 7
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java

@@ -107,16 +107,14 @@ public class AdminBizImpl implements AdminBiz {
             handleMsg.append(callbackMsg);
         }
 
+        if (handleMsg.length() > 15000) {
+            handleMsg = new StringBuffer(handleMsg.substring(0, 15000));  // text最大64kb 避免长度过长
+        }
+
         // success, save log
         log.setHandleTime(new Date());
         log.setHandleCode(handleCallbackParam.getExecuteResult().getCode());
-
-        if (handleMsg.length() > 15000) { // text最大64kb 避免长度过长
-            log.setHandleMsg(handleMsg.substring(0, 15000));
-        } else {
-            log.setHandleMsg(handleMsg.toString());
-        }
-
+        log.setHandleMsg(handleMsg.toString());
         xxlJobLogDao.updateHandleInfo(log);
 
         return ReturnT.SUCCESS;