- 1、【新增】执行器新增“任务扫描排除路径”配置项(xxl.job.executor.excludedpackage),任务扫描时忽略指定包路径下的任务;
- 2、【优化】执行器任务Bean扫描逻辑调整,优化懒加载Bean检测及过滤机制,避免提前初始化类问题;
- 3、【新增】合并PR-3840,执行器支持通过XxlJobHelper获取任务触发时间戳;XxlJobHelper组件完善,支持通过“XxlJobHelper.getLogId/getLogDateTime/getLogFileName”方法获取执行日志相关信息;
- 4、【升级】调度中心UI框架升级,统一交互组件,支持多主题、多标签与局部渲染等,升级UI组件及性能;
- 5、【优化】调度时间轮组件强化,保障不重不漏:调度时间轮单刻度数据去重,避免极端情况下任务重复执行;时间轮转动时校验临近刻度,避免极端情况下遗漏刻度;
- 6、【优化】调度任务锁逻辑优化,事务SQL下沉至Mapper层统一管理,并增加测试用例,提升代码可读性以及可维护性;
- 7、【优化】调度快慢线程池默认配置上调,提升默认配置单机负载;调度预读任务数计算系数下调,降低事务颗粒度,提升性能及稳定性;
- 8、【性能】调度中心调整资源加载逻辑,移除不必要的拦截器,提升页面加载性能;
- 9、【优化】优化日志列表页面展示逻辑,新增展示“日志ID”与“任务名称”信息;
- 10、【优化】报表统计SQL优化,修复小概率情况下查询null值问题;报表初始化SQL优化,修复小概率情况增改竞争问题;
- 11、【优化】优日志报告与清理逻辑,增加清理过期日志的异常捕获,避免线程异常退出;
- 12、【优化】任务回调失败日志读写磁盘逻辑优化,解决极端情况下大文件读写内存问题;
- 13、【升级】Http通讯组件升级,基于接口代理方式重构通讯组件,提升组件性能及扩展性;
- 14、【重构】规范API交互协议,通用响应结构体调整为Response,调度中心API统一为Response封装数据;
(注意:响应结构体从ReturnT升级为Response,其中属性值“content”会调整为“data”,通过openapi交互场景需要关注) - 15、【重构】调度过期策略、调度类型策略逻辑重构,代码组件化拆分并完善日志,提升健壮性及可维护性;
- 16、【重构】调度中心底层组件重构,组件初始化以及销毁逻辑统一处理,任务触发及和回调逻辑优化,避免资源泄漏风险;
- 17、【重构】调度中心底层组件模块化拆分,移除组件单例以及静态代码逻辑,提升组件可维护性;
- 18、【重构】重构Rolling日志读写逻辑,解决边界条件下异常情况,优化读写性能;
- 19、【修复】脚本任务process销毁逻辑优化,解决风险情况下脚本进程无法终止问题;
- 20、【修复】合并PR-2369,修复脚本任务参数取值问题;
- 21、【新增】任务审计日志,记录任务操作敏感日志信息,如任务新建/更新/删除/启停/触发以及GLUE代码更新等,用于系统监控、审计和安全分析,可快速追溯异常行为以及定位排查问题等。
(当前任务审计日志以Info级别输出在系统日志中,可通过关键词 "xxl-job operation log:" 检索过滤) - 22、【强化】通用HTTP任务(httpJobHandler)强化,支持更丰富请求参数设置,完整参数示例如下:
完整参数示例参考:
```
{
"url": "http://www.baidu.com",
"method": "POST",
"contentType": "application/json",
"headers": {
"header01": "value01"
},
"cookies": {
"cookie01": "value01"
},
"timeout": 3000,
"data": "request body data",
"form": {
"key01": "value01"
},
"auth": "auth data"
}
```
- 23、【优化】调度组件日志完善,提升边界情况下问题定位效率;
- 24、【升级】升级多项maven依赖至较新版本,如 netty、groovy、springboot、spring-ai、dify、mybatis、xxl-sso 等;
备注:
- a、本次升级数据模型向前兼容,v3.2.*版本可直接升级不需要进行数据库表调整;
- b、本次升级针对客户端rollinglog依赖字段做规范约束,如不关注该功能 v2.4.* 及后续版本客户端不需要升级/可兼容,否则需要升级客户端版本;