diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 6bf2563..d4774ee 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -1434,7 +1434,7 @@ - 18、调度日志排序逻辑调整为按照调度时间倒序,兼容TIDB等主键不连续日志存储组件; - 19、执行器优雅停机优化; - 20、连接池配置优化,增强连接有效性验证; -- 21、[迭代中]JobHandler执行结果日志长度限制: +- 21、JobHandler#msg长度限制,修复异常情况下日志超长导致内存溢出的问题; - 22、[迭代中]执行器端口复用: - 23、[迭代中]任务线程隔离: - 执行器测异步响应,不存在阻塞不需要隔离; diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 6bf2563..d4774ee 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -1434,7 +1434,7 @@ - 18、调度日志排序逻辑调整为按照调度时间倒序,兼容TIDB等主键不连续日志存储组件; - 19、执行器优雅停机优化; - 20、连接池配置优化,增强连接有效性验证; -- 21、[迭代中]JobHandler执行结果日志长度限制: +- 21、JobHandler#msg长度限制,修复异常情况下日志超长导致内存溢出的问题; - 22、[迭代中]执行器端口复用: - 23、[迭代中]任务线程隔离: - 执行器测异步响应,不存在阻塞不需要隔离; diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java index 290b7e5..c1f2b64 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java @@ -154,6 +154,9 @@ if (executeResult == null) { executeResult = IJobHandler.FAIL; + } else { + executeResult.setMsg((executeResult!=null&&executeResult.getMsg().length()>50000)?executeResult.getMsg().substring(0, 50000).concat("..."):executeResult.getMsg()); + executeResult.setContent(null); // limit obj size } XxlJobLogger.log("
----------- xxl-job job execute end(finish) -----------
----------- ReturnT:" + executeResult);