- 2、【优化】底层通讯超时时间支持自定义,默认3S;可参考 xxl-job-admin 和 samples 示例代码自行配置;

- 3、【修复】调度中心快慢线程池优化拒绝策略,避免因默认AbortPolicy导致调度结果丢失问题;
2.5.0
xuxueli 8 months ago
parent 86d26c8793
commit 2ccd8f25b7

@ -2414,17 +2414,19 @@ public void execute() {
### 7.36 版本 v2.5.0 Release Notes[规划中] ### 7.36 版本 v2.5.0 Release Notes[规划中]
- 1、【优化】框架基础守护线程异常处理逻辑优化避免极端情况下因Error导致调度终止问题 - 1、【优化】框架基础守护线程异常处理逻辑优化避免极端情况下因Error导致调度终止问题
- 2、【优化】底层通讯超时时间支持自定义默认3S可参考 xxl-job-admin 和 samples 示例代码自行配置; - 2、【优化】底层通讯超时时间支持自定义默认3S可参考 xxl-job-admin 和 samples 示例代码自行配置;
- 3、【重构】调度线程任务信息更新逻辑优化避免极端情况下已关闭任务被启动问题 - 3、【修复】调度中心快慢线程池优化拒绝策略避免因默认AbortPolicy导致调度结果丢失问题
- 4、【重构】执行器注册逻辑重构降低多调度中心地址时并发注册问题注册表“xxl_job_registry”新增唯一索引避免冗余注册信息存储 - 4、【优化】调度中心快慢线程池队列长度提升缓解因激增任务导致任务积压问题
- 5、【优化】部分系统日志优化提升可读性 - 5、【重构】调度线程任务信息更新逻辑优化避免极端情况下已关闭任务被启动问题
- 6、【优化】合并PR-3616代码结构注释优化 - 6、【重构】执行器注册逻辑重构降低多调度中心地址时并发注册问题注册表“xxl_job_registry”新增唯一索引避免冗余注册信息存储
- 7、【优化】合并PR-3619避免调度过程中任务停止边界情况处理逻辑 - 7、【优化】部分系统日志优化提升可读性
- 8、【优化】合并PR-3605避免子任务是任务本身导致死循环 - 8、【优化】合并PR-3616代码结构注释优化
- 9、【修复】合并PR-3585修复全局密码长度不一致问题 - 9、【优化】合并PR-3619避免调度过程中任务停止边界情况处理逻辑
- 10、【优化】合并PR-3518SQL列别名反引号包裹提升跨数据迁移兼容性 - 10、【优化】合并PR-3605避免子任务是任务本身导致死循环
- 11、【优化】合并PR-3518、PR-3400日志表索引优化提升大日志量情况下日志查询及清理速度 - 11、【修复】合并PR-3585修复全局密码长度不一致问题
- 12、[规划中]登陆态Token声称逻辑优化混淆登陆时间属性降低token泄漏风险 - 12、【优化】合并PR-3518SQL列别名反引号包裹提升跨数据迁移兼容性
- 13、[规划中]升级springboot3.x解决2.x老版本漏洞类问题。注意springboot3.x依赖jdk17 - 13、【优化】合并PR-3518、PR-3400日志表索引优化提升大日志量情况下日志查询及清理速度
- 14、[规划中]登陆态Token声称逻辑优化混淆登陆时间属性降低token泄漏风险
- 15、[规划中]升级springboot3.x解决2.x老版本漏洞类问题。注意springboot3.x依赖jdk17
### TODO LIST ### TODO LIST
- 1、调度隔离调度中心针对不同执行器各自维护不同的调度和远程触发组件。 - 1、调度隔离调度中心针对不同执行器各自维护不同的调度和远程触发组件。

@ -30,12 +30,18 @@ public class JobTriggerPoolHelper {
XxlJobAdminConfig.getAdminConfig().getTriggerPoolFastMax(), XxlJobAdminConfig.getAdminConfig().getTriggerPoolFastMax(),
60L, 60L,
TimeUnit.SECONDS, TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>(1000), new LinkedBlockingQueue<Runnable>(2000),
new ThreadFactory() { new ThreadFactory() {
@Override @Override
public Thread newThread(Runnable r) { public Thread newThread(Runnable r) {
return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-fastTriggerPool-" + r.hashCode()); return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-fastTriggerPool-" + r.hashCode());
} }
},
new RejectedExecutionHandler() {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
logger.error(">>>>>>>>>>> xxl-job, admin JobTriggerPoolHelper-fastTriggerPool execute too fast, Runnable="+r.toString() );
}
}); });
slowTriggerPool = new ThreadPoolExecutor( slowTriggerPool = new ThreadPoolExecutor(
@ -43,12 +49,18 @@ public class JobTriggerPoolHelper {
XxlJobAdminConfig.getAdminConfig().getTriggerPoolSlowMax(), XxlJobAdminConfig.getAdminConfig().getTriggerPoolSlowMax(),
60L, 60L,
TimeUnit.SECONDS, TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>(2000), new LinkedBlockingQueue<Runnable>(5000),
new ThreadFactory() { new ThreadFactory() {
@Override @Override
public Thread newThread(Runnable r) { public Thread newThread(Runnable r) {
return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-slowTriggerPool-" + r.hashCode()); return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-slowTriggerPool-" + r.hashCode());
} }
},
new RejectedExecutionHandler() {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
logger.error(">>>>>>>>>>> xxl-job, admin JobTriggerPoolHelper-slowTriggerPool execute too fast, Runnable="+r.toString() );
}
}); });
} }
@ -116,6 +128,10 @@ public class JobTriggerPoolHelper {
} }
} }
@Override
public String toString() {
return "Job Runnable, jobId:"+jobId;
}
}); });
} }

Loading…
Cancel
Save