diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 12950e1b..11a6d2d0 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2405,6 +2405,9 @@ public void execute() { - 2、【优化】部分系统日志优化,提升可读性; - 3、【重构】调度线程任务信息更新逻辑优化,避免极端情况下已关闭任务被启动问题; - 5、【重构】执行器注册逻辑重构,降低多调度中心地址时并发注册问题;注册表“xxl_job_registry”新增唯一索引,避免冗余注册信息存储; +- 6、【优化】合并PR-3616,代码结构注释优化; +- 7、【优化】合并PR-3619,优化调度过程中任务停止边界情况处理逻辑; + - 4、[规划中]升级springboot3.x,解决2.x老版本漏洞类问题。注意,springboot3.x依赖jdk17; - 5、[规划中]安全功能增强,通讯加密参数改用加密数据避免AccessToken明文, 降低token泄漏风险; - 6、[规划中]登陆态Token声称逻辑优化,混淆登陆时间属性,降低token泄漏风险; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java index ede3e46f..3f5e1106 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java @@ -272,6 +272,7 @@ public class JobScheduleHelper { try { Date nextValidTime = generateNextValidTime(jobInfo, fromTime); if (nextValidTime != null) { + jobInfo.setTriggerStatus(-1); // pass, may be Inaccurate jobInfo.setTriggerLastTime(jobInfo.getTriggerNextTime()); jobInfo.setTriggerNextTime(nextValidTime.getTime()); } else { diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java index 9340cae6..ac0019d5 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java @@ -51,7 +51,10 @@ public interface XxlJobInfoDao { public List scheduleJobQuery(@Param("maxNextTime") long maxNextTime, @Param("pagesize") int pagesize ); /** - * update schedule job, limit "trigger_status = 1"(avoid stopping tasks from being opened) + * update schedule job + * + * 1、can only update "trigger_status = 1", Avoid stopping tasks from being opened + * 2、valid "triggerStatus gte 0", filter illegal state * * @param xxlJobInfo * @return diff --git a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml index 7c135cba..0dc53ac1 100644 --- a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml +++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml @@ -233,7 +233,7 @@ SET trigger_last_time = #{triggerLastTime}, trigger_next_time = #{triggerNextTime} - + , trigger_status = #{triggerStatus} WHERE id = #{id}