xuxueli 11 月之前
父節點
當前提交
2a8d3eed81
共有 1 個文件被更改,包括 67 次插入67 次删除
  1. 67 67
      doc/XXL-JOB官方文档.md

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

@@ -17,7 +17,7 @@
 ### 1.1 概述
 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
 
-### 1.2 社区交流    
+### 1.2 社区交流
 - [社区交流](https://www.xuxueli.com/page/community.html)
 
 ### 1.3 特性
@@ -833,7 +833,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
     xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
         :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
         :xxl-job-executor-sample-frameless:无框架版本;
-        
+
 
 ### 2.3 配置部署“调度中心”
 
@@ -876,8 +876,8 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
     
     ### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;
     xxl.job.logretentiondays=30
-    
-    
+
+
 
 #### 步骤二:部署项目:
 如果已经正确进行上述配置,可将项目编译打包部署。
@@ -924,10 +924,10 @@ docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_jo
 
     “执行器”项目:xxl-job-executor-sample-springboot (提供多种版本执行器供选择,现以 springboot 版本为例,可直接使用,也可以参考其并将现有项目改造成执行器)
     作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。
-    
+
 #### 步骤一:maven依赖
 确认pom文件中引入了 "xxl-job-core" 的maven依赖;
-    
+
 #### 步骤二:执行器配置
 执行器配置,配置文件地址:
 
@@ -953,7 +953,7 @@ docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_jo
     xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
     ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
     xxl.job.executor.logretentiondays=30
-    
+
 
 #### 步骤三:执行器组件配置
 
@@ -985,7 +985,7 @@ public XxlJobSpringExecutor xxlJobExecutor() {
 
     xxl-job-executor-sample-springboot:项目编译打包成springboot类型的可执行JAR包,命令启动即可;
     xxl-job-executor-sample-frameless:项目编译打包成JAR包,命令启动即可;
-    
+
 
 至此“执行器”项目已经部署结束。
 
@@ -993,11 +993,11 @@ public XxlJobSpringExecutor xxlJobExecutor() {
 执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。
 
 执行器集群部署时,几点要求和建议:
-- 执行器回调地址(xxl.job.admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。 
+- 执行器回调地址(xxl.job.admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。
 - 同一个执行器集群内AppName(xxl.job.executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。
 
 
-### 2.5 开发第一个任务“Hello World”       
+### 2.5 开发第一个任务“Hello World”
 本示例以新建一个 “GLUE模式(Java)” 运行模式的任务为例。更多有关任务的详细配置,请查看“章节三:任务详解”。
 ( “GLUE模式(Java)”的执行代码托管到调度中心在线维护,相比“Bean模式任务”需要在执行器项目开发部署上线,更加简便轻量)
 
@@ -1022,7 +1022,7 @@ public XxlJobSpringExecutor xxlJobExecutor() {
 #### 步骤三:触发执行:
 请点击任务右侧 “执行” 按钮,可手动触发一次任务执行(通常情况下,通过配置Cron表达式进行任务调度触发)。
 
-#### 步骤四:查看日志: 
+#### 步骤四:查看日志:
 请点击任务右侧 “日志” 按钮,可前往任务日志界面查看任务日志。
 在任务日志界面中,可查看该任务的历史调度记录以及每一次调度的任务调度信息、执行参数和执行信息。运行中的任务点击右侧的“执行日志”按钮,可进入日志控制台查看实时执行日志。
 
@@ -1086,11 +1086,11 @@ public XxlJobSpringExecutor xxlJobExecutor() {
             覆盖之前调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,将会终止运行中的调度任务并清空队列,然后运行本地调度任务;
         - 任务超时时间:支持自定义任务超时时间,任务运行超时将会主动中断任务;
         - 失败重试次数;支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;
-    
-    
-    
 
-    
+
+
+
+
 ### 3.1 BEAN模式(类形式)
 
 Bean模式任务,支持基于类的开发方式,每个任务对应一个Java类。
@@ -1129,7 +1129,7 @@ Bean模式任务,支持基于方法的开发方式,每个任务对应一个
     2、注解配置:为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
     3、执行日志:需要通过 "XxlJobHelper.log" 打印执行日志;
     4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过 "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;
-    
+
 ```
 // 可参考Sample示例执行器中的 "com.xxl.job.executor.service.jobhandler.SampleXxlJob" ,如下:
 @XxlJob("demoJobHandler")
@@ -1174,7 +1174,7 @@ public void demoJobHandler() throws Exception {
 
 ### 3.4 GLUE模式(Shell)
 
-#### 步骤一:调度中心,新建调度任务   
+#### 步骤一:调度中心,新建调度任务
 参考上文“配置属性详细说明”对新建的任务进行参数配置,运行模式选中 "GLUE模式(Shell)";
 
 #### 步骤二:开发任务代码:
@@ -1186,7 +1186,7 @@ public void demoJobHandler() throws Exception {
 
 ### 3.4 GLUE模式(Python)
 
-#### 步骤一:调度中心,新建调度任务   
+#### 步骤一:调度中心,新建调度任务
 参考上文“配置属性详细说明”对新建的任务进行参数配置,运行模式选中 "GLUE模式(Python)";
 
 #### 步骤二:开发任务代码:
@@ -1198,7 +1198,7 @@ public void demoJobHandler() throws Exception {
 
 ### 3.5 GLUE模式(NodeJS)
 
-#### 步骤一:调度中心,新建调度任务   
+#### 步骤一:调度中心,新建调度任务
 参考上文“配置属性详细说明”对新建的任务进行参数配置,运行模式选中 "GLUE模式(NodeJS)";
 
 #### 步骤二:开发任务代码:
@@ -1364,11 +1364,11 @@ XXL-JOB调度模块基于自研调度组件并支持集群部署,调度数据
 
 #### 5.3.2 系统组成
 - **调度模块(调度中心)**:
-    负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;
-    支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。
+  负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;
+  支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。
 - **执行模块(执行器)**:
-    负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;
-    接收“调度中心”的执行请求、终止请求和日志请求等。
+  负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;
+  接收“调度中心”的执行请求、终止请求和日志请求等。
 
 #### 5.3.3 架构图
 
@@ -1377,7 +1377,7 @@ XXL-JOB调度模块基于自研调度组件并支持集群部署,调度数据
 ### 5.4 调度模块剖析
 #### 5.4.1 quartz的不足
 Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:
-   
+
 - 问题一:调用API的的方式操作任务,不人性化;
 - 问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。
 - 问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况下,此时调度系统的性能将大大受限于业务;
@@ -1474,7 +1474,7 @@ xxl-job-admin#com.xxl.job.admin.controller.JobApiController.callback
 
 如若需要支撑更多的任务量,可以通过 "调大调度线程数" 、"降低调度中心与执行器ping延迟" 和 "提升机器配置" 几种方式优化。
 
-#### 5.4.12 均衡调度    
+#### 5.4.12 均衡调度
 调度中心在集群部署时会自动进行任务平均分配,触发组件每次获取与线程池数量(调度中心支持自定义调度线程池大小)相关数量的任务,避免大量任务集中在单个调度中心集群节点;
 
 ### 5.5 任务 "运行模式" 剖析
@@ -1518,7 +1518,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过
 
 ### 5.6 通讯模块剖析
 
-#### 5.6.1 一次完整的任务调度通讯流程 
+#### 5.6.1 一次完整的任务调度通讯流程
     - 1、“调度中心”向“执行器”发送http调度请求: “执行器”中接收请求的服务,实际上是一台内嵌Server,默认端口9999;
     - 2、“执行器”执行任务逻辑;
     - 3、“执行器”http回调“调度中心”调度结果: “调度中心”中接收回调的服务,是针对执行器开放一套API服务;
@@ -1526,14 +1526,14 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过
 #### 5.6.2 通讯数据加密
 调度中心向执行器发送的调度请求时使用RequestModel和ResponseModel两个对象封装调度请求参数和响应数据, 在进行通讯之前底层会将上述两个对象对象序列化,并进行数据协议以及时间戳检验,从而达到数据加密的功能;
 
-### 5.7 任务注册, 任务自动发现   
+### 5.7 任务注册, 任务自动发现
 自v1.5版本之后, 任务取消了"任务执行机器"属性, 改为通过任务注册和自动发现的方式, 动态获取远程执行器地址并执行。
 
     AppName: 每个执行器机器集群的唯一标示, 任务注册以 "执行器" 为最小粒度进行注册; 每个任务通过其绑定的执行器可感知对应的执行器机器列表;
     注册表: 见"xxl_job_registry"表, "执行器" 在进行任务注册时将会周期性维护一条注册记录,即机器地址和AppName的绑定关系; "调度中心" 从而可以动态感知每个AppName在线的机器列表;
     执行器注册: 任务注册Beat周期默认30s; 执行器以一倍Beat进行执行器注册, 调度中心以一倍Beat进行动态任务发现; 注册信息的失效时间为三倍Beat; 
     执行器注册摘除:执行器销毁时,将会主动上报调度中心并摘除对应的执行器机器信息,提高心跳注册的实时性;
-    
+
 
 为保证系统"轻量级"并且降低学习部署成本,没有采用Zookeeper作为注册中心,采用DB方式进行任务注册发现;
 
@@ -1542,7 +1542,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过
 当返回值符合 "ReturnT.code == ReturnT.SUCCESS_CODE" 时表示任务执行成功,否则表示任务执行失败,而且可以通过 "ReturnT.msg" 回调错误信息给调度中心;
 从而,在任务逻辑中可以方便的控制任务执行结果;
 
-### 5.9 分片广播 & 动态分片   
+### 5.9 分片广播 & 动态分片
 执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发对应集群中所有执行器执行一次任务,同时系统自动传递分片参数;可根据分片参数开发分片任务;
 
 "分片广播" 以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
@@ -1561,7 +1561,7 @@ int shardTotal = XxlJobHelper.getShardTotal();
 echo "分片序号 index = $2"
 echo "分片总数 total = $3"
 ```  
-    
+
 分片参数属性说明:
 
     index:当前分片序号(从0开始),执行器集群列表中当前执行器的序号;
@@ -1583,7 +1583,7 @@ echo "分片总数 total = $3"
 
 ### 5.11 故障转移 & 失败重试
 一次完整任务流程包括"调度(调度中心) + 执行(执行器)"两个阶段。
-    
+
 - "故障转移"发生在调度阶段,在执行器集群部署时,如果某一台执行器发生故障,该策略支持自动进行Failover切换到一台正常的执行器机器并且完成调度请求流程。
 - "失败重试"发生在"调度 + 执行"两个阶段,支持通过自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;
 
@@ -1595,7 +1595,7 @@ echo "分片总数 total = $3"
 - 1、执行器改为手动注册,下线一半机器列表(A组),线上运行另一半机器列表(B组);
 - 2、等待A组机器任务运行结束并编译上线;执行器注册地址替换为A组;
 - 3、等待B组机器任务运行结束并编译上线;执行器注册地址替换为A组+B组;
-操作结束;
+  操作结束;
 
 ### 5.13 任务执行结果说明
 系统根据以下标准判断任务执行结果,可参考之。
@@ -1623,15 +1623,15 @@ XXL-JOB是一个跨语言的任务调度平台,主要体现在如下几个方
 可以通过以下命令快速构建调度中心,并启动运行;
 ```
 mvn clean package
-docker build -t xuxueli/xxl-job-admin ./xxl-job-admin
+docker build -t xuxueli/xxl-job-admin:{version} ./xxl-job-admin
 docker run --name xxl-job-admin -p 8080:8080 -d xuxueli/xxl-job-admin
 ```
 
-### 5.20 避免任务重复执行   
+### 5.20 避免任务重复执行
 调度密集或者耗时任务可能会导致任务阻塞,集群情况下调度组件小概率情况下会重复触发;
-针对上述情况,可以通过结合 "单机路由策略(如:第一台、一致性哈希)" + "阻塞策略(如:单机串行、丢弃后续调度)" 来规避,最终避免任务重复执行。 
+针对上述情况,可以通过结合 "单机路由策略(如:第一台、一致性哈希)" + "阻塞策略(如:单机串行、丢弃后续调度)" 来规避,最终避免任务重复执行。
 
-### 5.21 命令行任务   
+### 5.21 命令行任务
 原生提供通用命令行任务Handler(Bean任务,"CommandJobHandler");业务方只需要提供命令行即可;
 如任务参数 "pwd" 将会执行命令并输出数据;
 
@@ -1693,7 +1693,7 @@ Header:
       "msg": null      // 错误提示消息
     }
 ```
-    
+
 #### b、执行器注册
 ```
 说明:执行器注册时使用,调度中心会实时感知注册成功的执行器并发起任务调度
@@ -1901,35 +1901,35 @@ Header:
 - 3、底层通讯支持两种方式,Servlet方式 + JETTY方式;
 - 4、支持“任务日志”;
 - 5、支持“串行执行”,并行执行;
-	
-	说明:V1.2版本将系统架构按功能拆分为:
-	
-		- 调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求;
-		- 执行模块(执行器):负责接收调度请求并执行任务逻辑;
-		- 通讯模块:负责调度模块和任务模块之间的信息通讯;
-	优点:
-	
-		- 解耦:任务模块提供任务接口,调度模块维护调度信息,业务相互独立;
-		- 高扩展性;
-		- 稳定性;
+
+  说明:V1.2版本将系统架构按功能拆分为:
+
+  	- 调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求;
+  	- 执行模块(执行器):负责接收调度请求并执行任务逻辑;
+  	- 通讯模块:负责调度模块和任务模块之间的信息通讯;
+  优点:
+
+  	- 解耦:任务模块提供任务接口,调度模块维护调度信息,业务相互独立;
+  	- 高扩展性;
+  	- 稳定性;
 
 ### 7.3 版本 V1.3.0,新特性[2016-05-19]
 - 1、遗弃“本地任务”模式,推荐使用“远程任务”,易于系统解耦,任务对应的JobHandler统称为“执行器”;
 - 2、遗弃“servlet”方式底层系统通讯,推荐使用JETTY方式,调度+回调双向通讯,重构通讯逻辑;
 - 3、UI交互优化:左侧菜单展开状态优化,菜单项选中状态优化,任务列表打开表格有压缩优化;
 - 4、【重要】“执行器”细分为:BEAN、GLUE两种开发模式,简介见下文:
-	
-	“执行器” 模式简介:
-		- BEAN模式执行器:每个执行器都是Spring的一个Bean实例,XXL-JOB通过注解@JobHandler识别和调度执行器;
-		 -GLUE模式执行器:每个执行器对应一段代码,在线Web编辑和维护,动态编译生效,执行器负责加载GLUE代码和执行;
+
+  “执行器” 模式简介:
+    - BEAN模式执行器:每个执行器都是Spring的一个Bean实例,XXL-JOB通过注解@JobHandler识别和调度执行器;
+      -GLUE模式执行器:每个执行器对应一段代码,在线Web编辑和维护,动态编译生效,执行器负责加载GLUE代码和执行;
 
 ### 7.4 版本 V1.3.1,新特性[2016-05-23]
 - 1、更新项目目录结构:
-	- /xxl-job-admin -------------------- 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;
-	- /xxl-job-core ----------------------- 公共依赖
-	- /xxl-job-executor-example ------ 【执行器】:负责接收调度请求并执行任务逻辑;
-	- /db ---------------------------------- 建表脚本
-	- /doc --------------------------------- 用户手册
+    - /xxl-job-admin -------------------- 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;
+    - /xxl-job-core ----------------------- 公共依赖
+    - /xxl-job-executor-example ------ 【执行器】:负责接收调度请求并执行任务逻辑;
+    - /db ---------------------------------- 建表脚本
+    - /doc --------------------------------- 用户手册
 - 2、在新的目录结构上,升级了用户手册;
 - 3、优化了一些交互和UI;
 
@@ -1943,7 +1943,7 @@ Header:
 - 2、执行器底层实现代码进行重度重构, 优化底层建表脚本;
 - 3、执行器中任务线程分组逻辑优化: 之前根据执行器JobHandler进行线程分组,当多个任务复用Jobhanlder会导致相互阻塞。现改为根据调度中心任务进行任务线程分组,任务与任务执行相互隔离;
 - 4、执行器调度通讯方案优化, 通过Hex + HC实现建议RPC通讯协议, 优化了通讯参数的维护和解析流程;
-- 5、调度中心, 新建/编辑任务, 界面属性调整: 
+- 5、调度中心, 新建/编辑任务, 界面属性调整:
     - 5.1、任务新增/编辑界面中去除 "任务名JobName"属性 ,该属性改为系统自动生成: 该字段之前主要用于在 "调度中心" 唯一标示一个任务, 现实意义不大, 因此计划淡化掉该字段,改为系统生成UUID,从而简化任务新建的操作;
     - 5.2、任务新增/编辑界面中去除 "GLUE模式" 复选框位置调整, 改为贴近"JobHandler"输入框右侧;
     - 5.3、任务新增/编辑界面中去除 "报警阈值" 属性;
@@ -1958,7 +1958,7 @@ Header:
 Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段, 地址见分支 [V1.3](https://github.com/xuxueli/xxl-job/tree/v1.3) 。新特性将会在master分支持续更新。
 
 ### 7.7 版本 V1.4.1 新特性[2016-09-06]
-- 1、项目成功推送maven中央仓库, 中央仓库地址以及依赖如下: 
+- 1、项目成功推送maven中央仓库, 中央仓库地址以及依赖如下:
     ```
     <!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
     <dependency>
@@ -2086,7 +2086,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 11、统一maven依赖版本管理;
 
 ### 7.20 版本 V1.8.2 特性[2017-09-04]
-- 1、项目主页搭建:提供中英文文档:https://www.xuxueli.com/xxl-job 
+- 1、项目主页搭建:提供中英文文档:https://www.xuxueli.com/xxl-job
 - 2、JFinal执行器Sample示例项目;
 - 3、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
 - 4、执行器摘除:执行器销毁时,主动通知调度中心并摘除对应执行器节点,提高执行器状态感知的时效性。
@@ -2181,7 +2181,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 38、GLUE任务脚本字段类型调整,改为mediumtext类型,提高GLUE长度上限;
 - 39、任务监控线程Log输出优化,运行中任务的监控Log改为debug级别,减少非核心日志量;
 - 40、项目依赖全量升级至较新稳定版本,如spring、Jackson、groovy等等;
-- 41、docker支持:调度中心提供 Dockerfile 方便快速构建docker镜像; 
+- 41、docker支持:调度中心提供 Dockerfile 方便快速构建docker镜像;
 
 ### 7.24 版本 V2.0.0 Release Notes[2018-11-04]
 - 1、调度中心迁移到 springboot;
@@ -2193,7 +2193,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 7、任务状态规范:新增任务默认停止状态,任务更新时保持任务状态不变;
 - 8、IP获取逻辑优化,优先遍历网卡来获取可用IP;
 - 9、任务新增的API服务接口返回任务ID,方便调用方实用;
-- 10、组件化优化,移除对 spring 的依赖:非spring应用选用 "XxlJobExecutor" 、spring应用选用 "XxlJobSpringExecutor" 作为执行器组件; 
+- 10、组件化优化,移除对 spring 的依赖:非spring应用选用 "XxlJobExecutor" 、spring应用选用 "XxlJobSpringExecutor" 作为执行器组件;
 - 11、任务RollingLog展示逻辑优化,修复超时任务无法查看的问题;
 - 12、多项UI组件升级到最新版本,如:CodeMirror、Echarts、Jquery 等;
 - 13、项目依赖升级 groovy 至较新稳定版本;pom清理;
@@ -2327,7 +2327,7 @@ data: post-data
 - 20、修复bootstrap.min.css.map 404问题;
 - 21、执行器UI交互优化,移除冗余order属性;
 - 22、执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题;
-注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意;   
+注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意;
 
 ### 7.31 版本 v2.3.0 Release Notes[2021-02-09]
 - 1、【新增】调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;
@@ -2365,7 +2365,7 @@ public void execute() {
 - 24、【修复】执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
 - 25、【修复】轮训路由策略优化,修复小概率下并发问题;
 - 26、【修复】页面redirect跳转后https变为http问题修复;
-- 27、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题;      
+- 27、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题;
 
 ### 7.32 版本 v2.3.1 Release Notes[2022-05-21]
 - 1、【修复】修复风险漏洞,升级问题低版本项目依赖:CVE-2021-2471、CVE-2022-22965等。
@@ -2395,9 +2395,9 @@ public void execute() {
 - 6、【修复】漏洞修复,包括 "CVE-2024-42681" 子任务越权漏洞修复、"CVE-2023-33779" 任务API越权问题修复;
 - 7、【升级】多个项目依赖升级至较新稳定版本,涉及netty、groovy、gson、springboot、mybatis等;
 
-备注:
-- 1、“CVE-2024-38820”漏洞源自spring,当前使用spring5.x及springboot2.x软件普遍受该问题影响。 该问题修复需要升级至spring6.x与springboot3.x,同时需要升级JDK17,如有诉求可自行升级。计划下个大版本升级spring及jdk版本解决该问题。
-- 2、本次升级数据模型及通讯协议向前兼容,v2.4.*可无缝升级。
+**备注:**
+- a、“CVE-2024-38820”漏洞源自spring,当前使用spring5.x及springboot2.x软件普遍受该问题影响。 该问题修复需要升级至spring6.x与springboot3.x,同时需要升级JDK17,如有诉求可自行升级。计划下个大版本升级spring及jdk版本解决该问题。
+- b、本次升级数据模型及通讯协议向前兼容,v2.4.*可无缝升级。
 
 
 ### 7.35 版本 v2.5.0 Release Notes[规划中]