diff --git a/README.md b/README.md
index 6502f6b3..27bbf245 100644
--- a/README.md
+++ b/README.md
@@ -117,6 +117,8 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
于2020-11-16,XXL-JOB参与"[2020年度最受欢迎中国开源软件](https://www.oschina.net/project/top_cn_2020)"评比,在当时已录入的一万多个开源项目中角逐,最终排名"开发框架和基础组件类"第8名。
+于2021-12-06,XXL-JOB参与"[2021年度OSC中国开源项目评选](https://www.oschina.net/project/top_cn_2021) "评比,在当时已录入的一万多个开源项目中角逐,最终当选"最受欢迎项目"。
+
> 我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。
据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。
@@ -610,6 +612,121 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
- 486、IT实战联盟
- 487、杭州尤拉夫科技有限公司
- 488、中大检测(湖南)股份有限公司
+ - 489、江苏电老虎工业互联网股份有限公司
+ - 490、上海助通信息科技有限公司
+ - 491、北京符节科技有限公司
+ - 492、杭州英祐科技有限公司
+ - 493、江苏电老虎工业互联网股份有限公司
+ - 494、深圳市点猫科技有限公司
+ - 495、杭州天音
+ - 496、深圳市二十一科技互联网有限公司
+ - 497、海南海口翎度科技
+ - 498、北京小趣智品科技有限公司
+ - 499、广州石竹计算机软件有限公司
+ - 500、深圳市惟客数据科技有限公司
+ - 501、中国医疗器械有限公司
+ - 502、上海云谦科技有限公司
+ - 503、上海磐农信息科技有限公司
+ - 504、广州领航食品有限公司
+ - 505、青岛掌讯通区块链科技有限公司
+ - 506、北京新网数码信息技术有限公司
+ - 507、超体信息科技(深圳)有限公司
+ - 508、长沙店帮手信息科技有限公司
+ - 509、上海助弓装饰工程有限公司
+ - 510、杭州寻联网络科技有限公司
+ - 511、成都大淘客科技有限公司
+ - 512、松果出行
+ - 513、深圳市唤梦科技有限公司
+ - 514、上汽集团商用车技术中心
+ - 515、北京中航讯科技股份有限公司
+ - 516、北龙中网(北京)科技有限责任公司
+ - 517、前海超级前台(深圳)信息技术有限公司
+ - 518、上海中商网络股份有限公司
+ - 519、上海助通信息科技有限公司
+ - 520、宁波聚臻智能科技有限公司
+ - 521、上海零动数码科技股份有限公司
+ - 522、浙江学海教育科技有限公司
+ - 523、聚学云(山东)信息技术有限公司
+ - 524、多氟多新材料股份有限公司
+ - 525、智慧眼科技股份有限公司
+ - 526、广东智通人才连锁股份有限公司
+ - 527、世纪开元智印互联科技集团股份有限公司
+ - 528、北京理想汽车【理想汽车】
+ - 529、巽逸科技(重庆)有限公司
+ - 530、义乌购电子商务有限公司
+ - 531、深圳市珂莱蒂尔服饰有限公司
+ - 532、江西国泰利民信息科技有限公司
+ - 533、广西广电大数据科技有限公司
+ - 534、杭州艾麦科技有限公司
+ - 535、广州小滴科技有限公司
+ - 536、佳缘科技股份有限公司
+ - 537、上海深擎信息科技有限公司
+ - 538、武商网
+ - 539、福建民本信息科技有限公司
+ - 540、杭州惠合信息科技有限公司
+ - 541、厦门爱立得科技有限公司
+ - 542、成都拟合未来科技有限公司
+ - 543、宁波聚臻智能科技有限公司
+ - 544、广东百慧科技有限公司
+ - 545、笨马网络
+ - 546、深圳市信安数字科技有限公司
+ - 547、深圳市思乐数据技术有限公司
+ - 548、四川绿源集科技有限公司
+ - 549、湖南云医链生物科技有限公司
+ - 550、杭州源诚科技有限公司
+ - 551、北京开课吧科技有限公司
+ - 552、北京多来点信息技术有限公司
+ - 553、JEECG BOOT低代码开发平台
+ - 554、苏州同元软控信息技术有限公司
+ - 555、江苏大泰信息技术有限公司
+ - 556、北京大禹汇智
+ - 557、北京盛哲科技有限公司
+ - 558、广州钛动科技有限公司
+ - 559、北京大禹汇智科技有限公司
+ - 560、湖南鼎翰文化股份有限公司
+ - 561、苏州安软信息科技有限公司
+ - 562、芒果tv
+ - 563、上海艺赛旗软件股份有限公司
+ - 564、中盈优创资讯科技有限公司
+ - 565、乐乎公寓
+ - 566、启明信息
+ - 567、苏州安软
+ - 568、南京富金的软件科技有限公司
+ - 569、深圳市新科聚合网络技术有限公司
+ - 570、你好现在(北京)科技股份有限公司
+ - 571、360考试宝典
+ - 572、北京一零科技有限公司
+ - 573、厦门星纵信息
+ - 574、Dalligent Solusi Indonesia
+ - 575、深圳华普物联科技有限公司
+ - 576、深圳行健自动化股份有限公司
+ - 577、深圳市富融信息科技服务有限公司
+ - 578、蓝鸟云
+ - 579、上海澎博财经资讯有限公司
+ - 580、北京小鸦科技有限公司
+ - 581、杭州盈泉云科技有限公司
+ - 582、惟客数据
+ - 583、GOSO香蜜闺秀
+ - 584、普乐师(上海)数字科技有限公司
+ - 585、西安市雁塔区咖北堂网络科技部
+ - 586、宁波聚臻智能科技有限公司
+ - 587、普乐师数字科技有限公司
+ - 588、江苏蟹联网科技有限公司
+ - 589、杭州未智科技有限公司
+ - 590、安吉智行物流有限公司
+ - 591、华生大家居集团有限公司
+ - 592、美心食品(广州)有限公司
+ - 593、货拉拉【货拉拉APP】
+ - 594、杭州思韬瑞科技有限公司
+ - 595、杭州玖融科技有限公司
+ - 596、北京优海网络科技有限公司
+ - 597、浙江大维高新技术股份有限公司
+ - 598、粤港澳大湾区数字经济研究院
+ - 599、普康(杭州)健康科技有限公司
+ - 600、华西证券股份有限公司【华西证券】
+ - 601、杭州海康机器人股份有限公司【海康】
+ - 602、河南宸邦信息技术有限公司
+ - 603、成都次元节点网络科技有限公司
- ……
> 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。
@@ -629,7 +746,7 @@ This product is open source and free, and will continue to provide free communit
- Licensed under the GNU General Public License (GPL) v3.
- Copyright (c) 2015-present, xuxueli.
-产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。
+产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。如有需要可邮件联系作者免费获取项目授权。
## Donate
diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md
index 7077d996..e5ed9587 100644
--- a/doc/XXL-JOB官方文档.md
+++ b/doc/XXL-JOB官方文档.md
@@ -87,6 +87,8 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
于2020-11-16,XXL-JOB参与"[2020年度最受欢迎中国开源软件](https://www.oschina.net/project/top_cn_2020)"评比,在当时已录入的一万多个开源项目中角逐,最终排名"开发框架和基础组件类"第8名。
+于2021-12-06,XXL-JOB参与"[2021年度OSC中国开源项目评选](https://www.oschina.net/project/top_cn_2021) "评比,在当时已录入的一万多个开源项目中角逐,最终当选"最受欢迎项目"。
+
> 我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。
据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。
@@ -580,6 +582,121 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
- 486、IT实战联盟
- 487、杭州尤拉夫科技有限公司
- 488、中大检测(湖南)股份有限公司
+ - 489、江苏电老虎工业互联网股份有限公司
+ - 490、上海助通信息科技有限公司
+ - 491、北京符节科技有限公司
+ - 492、杭州英祐科技有限公司
+ - 493、江苏电老虎工业互联网股份有限公司
+ - 494、深圳市点猫科技有限公司
+ - 495、杭州天音
+ - 496、深圳市二十一科技互联网有限公司
+ - 497、海南海口翎度科技
+ - 498、北京小趣智品科技有限公司
+ - 499、广州石竹计算机软件有限公司
+ - 500、深圳市惟客数据科技有限公司
+ - 501、中国医疗器械有限公司
+ - 502、上海云谦科技有限公司
+ - 503、上海磐农信息科技有限公司
+ - 504、广州领航食品有限公司
+ - 505、青岛掌讯通区块链科技有限公司
+ - 506、北京新网数码信息技术有限公司
+ - 507、超体信息科技(深圳)有限公司
+ - 508、长沙店帮手信息科技有限公司
+ - 509、上海助弓装饰工程有限公司
+ - 510、杭州寻联网络科技有限公司
+ - 511、成都大淘客科技有限公司
+ - 512、松果出行
+ - 513、深圳市唤梦科技有限公司
+ - 514、上汽集团商用车技术中心
+ - 515、北京中航讯科技股份有限公司
+ - 516、北龙中网(北京)科技有限责任公司
+ - 517、前海超级前台(深圳)信息技术有限公司
+ - 518、上海中商网络股份有限公司
+ - 519、上海助通信息科技有限公司
+ - 520、宁波聚臻智能科技有限公司
+ - 521、上海零动数码科技股份有限公司
+ - 522、浙江学海教育科技有限公司
+ - 523、聚学云(山东)信息技术有限公司
+ - 524、多氟多新材料股份有限公司
+ - 525、智慧眼科技股份有限公司
+ - 526、广东智通人才连锁股份有限公司
+ - 527、世纪开元智印互联科技集团股份有限公司
+ - 528、北京理想汽车【理想汽车】
+ - 529、巽逸科技(重庆)有限公司
+ - 530、义乌购电子商务有限公司
+ - 531、深圳市珂莱蒂尔服饰有限公司
+ - 532、江西国泰利民信息科技有限公司
+ - 533、广西广电大数据科技有限公司
+ - 534、杭州艾麦科技有限公司
+ - 535、广州小滴科技有限公司
+ - 536、佳缘科技股份有限公司
+ - 537、上海深擎信息科技有限公司
+ - 538、武商网
+ - 539、福建民本信息科技有限公司
+ - 540、杭州惠合信息科技有限公司
+ - 541、厦门爱立得科技有限公司
+ - 542、成都拟合未来科技有限公司
+ - 543、宁波聚臻智能科技有限公司
+ - 544、广东百慧科技有限公司
+ - 545、笨马网络
+ - 546、深圳市信安数字科技有限公司
+ - 547、深圳市思乐数据技术有限公司
+ - 548、四川绿源集科技有限公司
+ - 549、湖南云医链生物科技有限公司
+ - 550、杭州源诚科技有限公司
+ - 551、北京开课吧科技有限公司
+ - 552、北京多来点信息技术有限公司
+ - 553、JEECG BOOT低代码开发平台
+ - 554、苏州同元软控信息技术有限公司
+ - 555、江苏大泰信息技术有限公司
+ - 556、北京大禹汇智
+ - 557、北京盛哲科技有限公司
+ - 558、广州钛动科技有限公司
+ - 559、北京大禹汇智科技有限公司
+ - 560、湖南鼎翰文化股份有限公司
+ - 561、苏州安软信息科技有限公司
+ - 562、芒果tv
+ - 563、上海艺赛旗软件股份有限公司
+ - 564、中盈优创资讯科技有限公司
+ - 565、乐乎公寓
+ - 566、启明信息
+ - 567、苏州安软
+ - 568、南京富金的软件科技有限公司
+ - 569、深圳市新科聚合网络技术有限公司
+ - 570、你好现在(北京)科技股份有限公司
+ - 571、360考试宝典
+ - 572、北京一零科技有限公司
+ - 573、厦门星纵信息
+ - 574、Dalligent Solusi Indonesia
+ - 575、深圳华普物联科技有限公司
+ - 576、深圳行健自动化股份有限公司
+ - 577、深圳市富融信息科技服务有限公司
+ - 578、蓝鸟云
+ - 579、上海澎博财经资讯有限公司
+ - 580、北京小鸦科技有限公司
+ - 581、杭州盈泉云科技有限公司
+ - 582、惟客数据
+ - 583、GOSO香蜜闺秀
+ - 584、普乐师(上海)数字科技有限公司
+ - 585、西安市雁塔区咖北堂网络科技部
+ - 586、宁波聚臻智能科技有限公司
+ - 587、普乐师数字科技有限公司
+ - 588、江苏蟹联网科技有限公司
+ - 589、杭州未智科技有限公司
+ - 590、安吉智行物流有限公司
+ - 591、华生大家居集团有限公司
+ - 592、美心食品(广州)有限公司
+ - 593、货拉拉【货拉拉APP】
+ - 594、杭州思韬瑞科技有限公司
+ - 595、杭州玖融科技有限公司
+ - 596、北京优海网络科技有限公司
+ - 597、浙江大维高新技术股份有限公司
+ - 598、粤港澳大湾区数字经济研究院
+ - 599、普康(杭州)健康科技有限公司
+ - 600、华西证券股份有限公司【华西证券】
+ - 601、杭州海康机器人股份有限公司【海康】
+ - 602、河南宸邦信息技术有限公司
+ - 603、成都次元节点网络科技有限公司
- ……
> 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。
@@ -745,7 +862,7 @@ docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_jo
执行器配置,配置内容说明:
- ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
+ ### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### 执行器通讯TOKEN [选填]:非空时启用;
@@ -859,8 +976,8 @@ public XxlJobSpringExecutor xxlJobExecutor() {
固定速度:该类型将会以固定速度,触发任务调度;按照固定的间隔时间,周期性触发;
固定延迟:该类型将会以固定延迟,触发任务调度;按照固定的延迟时间,从上次调度结束后开始计算延迟时间,到达延迟时间后触发下次调度;
- CRON:触发任务执行的Cron表达式;
- - 固定速度:固件速度的时间间隔,单位为秒;
- - 固定延迟:固件延迟的时间间隔,单位为秒;
+ - 固定速度:固定速度的时间间隔,单位为秒;
+ - 固定延迟:固定延迟的时间间隔,单位为秒;
任务配置:
- 运行模式:
@@ -1324,7 +1441,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过
日志文件存放的位置可在“执行器”配置文件进行自定义,默认目录格式为:/data/applogs/xxl-job/jobhandler/“格式化日期”/“数据库调度日志记录的主键ID.log”。
-在JobHandler中开启子线程时,子线程将会将会把日志打印在父线程即JobHandler的执行日志中,方便日志追踪。
+在JobHandler中开启子线程时,子线程将会把日志打印在父线程即JobHandler的执行日志中,方便日志追踪。
### 5.6 通讯模块剖析
@@ -1483,7 +1600,7 @@ API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest
------
-地址格式:{调度中心跟地址}/callback
+地址格式:{调度中心根地址}/api/callback
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1492,9 +1609,8 @@ Header:
[{
"logId":1, // 本次调度日志ID
"logDateTim":0, // 本次调度日志时间
- "executeResult":{
- "code": 200, // 200 表示任务执行正常,500表示失败
- "msg": null
+ "handleCode":200, // 200 表示任务执行正常,500表示失败
+ "handleMsg": null
}
}]
@@ -1511,7 +1627,7 @@ Header:
------
-地址格式:{调度中心跟地址}/registry
+地址格式:{调度中心根地址}/api/registry
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1536,7 +1652,7 @@ Header:
------
-地址格式:{调度中心跟地址}/registryRemove
+地址格式:{调度中心根地址}/api/registryRemove
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1566,7 +1682,7 @@ API服务请求参考代码:com.xxl.job.executorbiz.ExecutorBizTest
------
-地址格式:{执行器内嵌服务跟地址}/beat
+地址格式:{执行器内嵌服务根地址}/beat
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1586,7 +1702,7 @@ Header:
------
-地址格式:{执行器内嵌服务跟地址}/idleBeat
+地址格式:{执行器内嵌服务根地址}/idleBeat
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1609,7 +1725,7 @@ Header:
------
-地址格式:{执行器内嵌服务跟地址}/run
+地址格式:{执行器内嵌服务根地址}/run
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1643,7 +1759,7 @@ Header:
------
-地址格式:{执行器内嵌服务跟地址}/kill
+地址格式:{执行器内嵌服务根地址}/kill
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -1667,7 +1783,7 @@ Header:
------
-地址格式:{执行器内嵌服务跟地址}/log
+地址格式:{执行器内嵌服务根地址}/log
Header:
XXL-JOB-ACCESS-TOKEN : {请求令牌}
@@ -2178,24 +2294,35 @@ public void execute() {
- 26、【修复】页面redirect跳转后https变为http问题修复;
- 27、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题;
-### 7.32 版本 v2.3.1 Release Notes[规划中]
+### 7.32 版本 v2.3.1 Release Notes[2022-05-21]
+- 1、【修复】修复风险漏洞,升级问题低版本项目依赖:CVE-2021-2471、CVE-2022-22965等。
+- 2、【修复】修复故障告警逻辑,邮箱校验逻辑下放至EmailJobAlarm中,避免对其他告警方式的干扰。
+- 3、【优化】调度通讯默认启用accessToken,提升系统安全性(建议生产环境自定义accessToken)。
+- 4、【优化】合并多项PR,项目代码结构、健壮性优化:PR-2833、PR-2812、PR-2541、PR-2537、PR-2514、PR-2509、PR-2591。
+- 5、【优化】任务线程名优化,提升可读性与问题定位效率(ISSUE-2527)。
+
+### 7.33 版本 v2.4.0 Release Notes[2022-03-23]
+- 1、【优化】执行器任务Bean扫描逻辑优化:解决懒加载注解失效问题。
+- 2、【优化】多个项目依赖升级至较新稳定版本,涉及netty、groovy、spring、springboot、mybatis等;
+- 3、【修复】"CVE-2022-36157" 授权漏洞修复。
+- 4、【修复】"CVE-2022-43183" SSRF漏洞修复。
+
+### 7.34 版本 v2.4.1 Release Notes[规划中]
- 1、【优化】[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。
- 普通任务:只记录一条主任务;
- 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上;
- 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。
- 2、【优化】[规划中]分片任务:全部完成后才会出发后置节点;
-- 3、【优化】多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot等;
-- 4、【优化】合并多项PR:代码结构、代码变量和注释等多项优化调整;
-- 5、【优化】任务线程名优化(ISSUE-2527)
-- 6、【修复】邮箱校验逻辑下放至EmailJobAlarm中,避免对其他告警方式的干扰;
-### 7.33 版本 v2.4.0 Release Notes[规划中]
+### 7.35 新版本规划 [规划中]
- 1、[规划中]DAG流程任务
- DAG任务:支持参数传递,共享数据:DAG任务创建、管理,DAG任务日志查看、操作;
- 子任务:废弃
- 2、[规划中]多数据库支持,DAO层通过JPA实现,不限制数据库类型;
- 3、[规划中]告警增强:邮件告警 + webhook告警;
- 4、[规划中]安全强化:AccessToken动态生成、动态启停;控制调度、回调;
+- 5、[规划中]任务导入导出工具,灵活支持版本升级、迁移等场景。
+
### TODO LIST
- 1、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定;
@@ -2240,7 +2367,7 @@ public void execute() {
更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。
### 8.3 开源协议和版权
-产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。
+产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。如有需要可邮件联系作者免费获取项目授权。
- Licensed under the GNU General Public License (GPL) v3.
- Copyright (c) 2015-present, xuxueli.
diff --git a/pom.xml b/pom.xml
index f60aa5c1..a1ffaf2d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.xuxueli
xxl-job
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
pom
${project.artifactId}
@@ -24,25 +24,24 @@
1.8
true
- 4.1.63.Final
- 2.8.6
+ 4.1.90.Final
+ 2.10.1
- 5.3.6
- 2.4.5
+ 5.3.26
+ 2.7.9
- 2.1.4
- 8.0.24
+ 2.3.0
+ 8.0.32
- 1.7.30
- 5.7.1
+ 1.7.36
+ 5.9.2
1.3.2
- 3.0.8
+ 4.0.10
3.2.1
- 3.2.0
- 1.6
- 3.3.1
+ 3.5.0
+ 3.0.1
diff --git a/xxl-job-admin/pom.xml b/xxl-job-admin/pom.xml
index 5ff4f5c8..4d316707 100644
--- a/xxl-job-admin/pom.xml
+++ b/xxl-job-admin/pom.xml
@@ -4,7 +4,7 @@
com.xuxueli
xxl-job
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
xxl-job-admin
jar
@@ -61,9 +61,9 @@
- mysql
- mysql-connector-java
- ${mysql-connector-java.version}
+ com.mysql
+ mysql-connector-j
+ ${mysql-connector-j.version}
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
index 4bb4b90a..8e0c5a4d 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
@@ -1,5 +1,6 @@
package com.xxl.job.admin.controller;
+import com.xxl.job.admin.controller.annotation.PermissionLimit;
import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobRegistry;
import com.xxl.job.admin.core.util.I18nUtil;
@@ -34,12 +35,14 @@ public class JobGroupController {
private XxlJobRegistryDao xxlJobRegistryDao;
@RequestMapping
+ @PermissionLimit(adminuser = true)
public String index(Model model) {
return "jobgroup/jobgroup.index";
}
@RequestMapping("/pageList")
@ResponseBody
+ @PermissionLimit(adminuser = true)
public Map pageList(HttpServletRequest request,
@RequestParam(required = false, defaultValue = "0") int start,
@RequestParam(required = false, defaultValue = "10") int length,
@@ -59,6 +62,7 @@ public class JobGroupController {
@RequestMapping("/save")
@ResponseBody
+ @PermissionLimit(adminuser = true)
public ReturnT save(XxlJobGroup xxlJobGroup){
// valid
@@ -102,6 +106,7 @@ public class JobGroupController {
@RequestMapping("/update")
@ResponseBody
+ @PermissionLimit(adminuser = true)
public ReturnT update(XxlJobGroup xxlJobGroup){
// valid
if (xxlJobGroup.getAppname()==null || xxlJobGroup.getAppname().trim().length()==0) {
@@ -170,6 +175,7 @@ public class JobGroupController {
@RequestMapping("/remove")
@ResponseBody
+ @PermissionLimit(adminuser = true)
public ReturnT remove(int id){
// valid
@@ -189,6 +195,7 @@ public class JobGroupController {
@RequestMapping("/loadById")
@ResponseBody
+ @PermissionLimit(adminuser = true)
public ReturnT loadById(int id){
XxlJobGroup jobGroup = xxlJobGroupDao.load(id);
return jobGroup!=null?new ReturnT(jobGroup):new ReturnT(ReturnT.FAIL_CODE, null);
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
index dcf5bb83..67faebcc 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
@@ -1,7 +1,7 @@
package com.xxl.job.admin.controller;
-import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.complete.XxlJobCompleter;
+import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.model.XxlJobLog;
@@ -129,22 +129,26 @@ public class JobLogController {
model.addAttribute("triggerCode", jobLog.getTriggerCode());
model.addAttribute("handleCode", jobLog.getHandleCode());
- model.addAttribute("executorAddress", jobLog.getExecutorAddress());
- model.addAttribute("triggerTime", jobLog.getTriggerTime().getTime());
model.addAttribute("logId", jobLog.getId());
return "joblog/joblog.detail";
}
@RequestMapping("/logDetailCat")
@ResponseBody
- public ReturnT logDetailCat(String executorAddress, long triggerTime, long logId, int fromLineNum){
+ public ReturnT logDetailCat(long logId, int fromLineNum){
try {
- ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(executorAddress);
- ReturnT logResult = executorBiz.log(new LogParam(triggerTime, logId, fromLineNum));
+ // valid
+ XxlJobLog jobLog = xxlJobLogDao.load(logId); // todo, need to improve performance
+ if (jobLog == null) {
+ return new ReturnT(ReturnT.FAIL_CODE, I18nUtil.getString("joblog_logid_unvalid"));
+ }
+
+ // log cat
+ ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(jobLog.getExecutorAddress());
+ ReturnT logResult = executorBiz.log(new LogParam(jobLog.getTriggerTime().getTime(), logId, fromLineNum));
// is end
if (logResult.getContent()!=null && logResult.getContent().getFromLineNum() > logResult.getContent().getToLineNum()) {
- XxlJobLog jobLog = xxlJobLogDao.load(logId);
if (jobLog.getHandleCode() > 0) {
logResult.getContent().setEnd(true);
}
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
index 8c2437ef..930b9e8a 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
@@ -3,8 +3,8 @@ package com.xxl.job.admin.controller.interceptor;
import com.xxl.job.admin.core.util.FtlUtil;
import com.xxl.job.admin.core.util.I18nUtil;
import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.AsyncHandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
@@ -17,7 +17,7 @@ import java.util.HashMap;
* @author xuxueli 2015-12-12 18:09:04
*/
@Component
-public class CookieInterceptor extends HandlerInterceptorAdapter {
+public class CookieInterceptor implements AsyncHandlerInterceptor {
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
@@ -36,8 +36,7 @@ public class CookieInterceptor extends HandlerInterceptorAdapter {
if (modelAndView != null) {
modelAndView.addObject("I18nUtil", FtlUtil.generateStaticModel(I18nUtil.class.getName()));
}
-
- super.postHandle(request, response, handler, modelAndView);
+
}
}
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
index 8ac2e40b..ecb28114 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
@@ -6,7 +6,7 @@ import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.admin.service.LoginService;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+import org.springframework.web.servlet.AsyncHandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletResponse;
* @author xuxueli 2015-12-12 18:09:04
*/
@Component
-public class PermissionInterceptor extends HandlerInterceptorAdapter {
+public class PermissionInterceptor implements AsyncHandlerInterceptor {
@Resource
private LoginService loginService;
@@ -27,7 +27,7 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (!(handler instanceof HandlerMethod)) {
- return super.preHandle(request, response, handler);
+ return true; // proceed with the next interceptor
}
// if need login
@@ -53,7 +53,7 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser);
}
- return super.preHandle(request, response, handler);
+ return true; // proceed with the next interceptor
}
}
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AverageJobAllocation.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AverageJobAllocation.java
index 42a6e3e6..4f8c15d6 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AverageJobAllocation.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AverageJobAllocation.java
@@ -80,7 +80,7 @@ public class AverageJobAllocation implements JobAllocation {
recursion(0, conn);
} catch (Exception e) {
- logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread error:{}", e);
+ logger.error(">>>>>>>>>>> xxl-job, cluster flush error:{}", e);
} finally {
// commit
if (conn != null) {
@@ -147,3 +147,4 @@ public class AverageJobAllocation implements JobAllocation {
}
}
+
diff --git a/xxl-job-admin/src/main/resources/i18n/message_en.properties b/xxl-job-admin/src/main/resources/i18n/message_en.properties
index 7d67636d..2ca59155 100644
--- a/xxl-job-admin/src/main/resources/i18n/message_en.properties
+++ b/xxl-job-admin/src/main/resources/i18n/message_en.properties
@@ -1,6 +1,6 @@
admin_name=Scheduling Center
admin_name_full=Distributed Task Scheduling Platform XXL-JOB
-admin_version=2.3.1-SNAPSHOT
+admin_version=2.4.1-SNAPSHOT
admin_i18n=en
## system
diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
index 4897a238..dc00c697 100644
--- a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
+++ b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
@@ -1,6 +1,6 @@
admin_name=任务调度中心
admin_name_full=分布式任务调度平台XXL-JOB
-admin_version=2.3.1-SNAPSHOT
+admin_version=2.4.1-SNAPSHOT
admin_i18n=
## system
diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
index 57d28e4f..2152c298 100755
--- a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
+++ b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
@@ -1,6 +1,6 @@
admin_name=任務調度中心
admin_name_full=分布式任務調度平臺XXL-JOB
-admin_version=2.3.1-SNAPSHOT
+admin_version=2.4.1-SNAPSHOT
admin_i18n=
## system
diff --git a/xxl-job-admin/src/main/resources/static/js/joblog.detail.1.js b/xxl-job-admin/src/main/resources/static/js/joblog.detail.1.js
index ddefd466..0638eee2 100644
--- a/xxl-job-admin/src/main/resources/static/js/joblog.detail.1.js
+++ b/xxl-job-admin/src/main/resources/static/js/joblog.detail.1.js
@@ -25,8 +25,6 @@ $(function() {
async: false, // sync, make log ordered
url : base_url + '/joblog/logDetailCat',
data : {
- "executorAddress":executorAddress,
- "triggerTime":triggerTime,
"logId":logId,
"fromLineNum":fromLineNum
},
diff --git a/xxl-job-admin/src/main/resources/templates/joblog/joblog.detail.ftl b/xxl-job-admin/src/main/resources/templates/joblog/joblog.detail.ftl
index 3881cfa6..bb8072f9 100644
--- a/xxl-job-admin/src/main/resources/templates/joblog/joblog.detail.ftl
+++ b/xxl-job-admin/src/main/resources/templates/joblog/joblog.detail.ftl
@@ -62,8 +62,6 @@
// 参数
var triggerCode = '${triggerCode}';
var handleCode = '${handleCode}';
- var executorAddress = '${executorAddress!}';
- var triggerTime = '${triggerTime?c}';
var logId = '${logId}';
diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
index a8231cbe..49bf8aec 100644
--- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
+++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
@@ -3,6 +3,8 @@ package com.xxl.job.admin.controller;
import com.xxl.job.admin.service.LoginService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.util.LinkedMultiValueMap;
@@ -13,6 +15,7 @@ import javax.servlet.http.Cookie;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
public class JobInfoControllerTest extends AbstractSpringMvcTest {
+ private static Logger logger = LoggerFactory.getLogger(JobInfoControllerTest.class);
private Cookie cookie;
@@ -41,7 +44,7 @@ public class JobInfoControllerTest extends AbstractSpringMvcTest {
.cookie(cookie)
).andReturn();
- System.out.println(ret.getResponse().getContentAsString());
+ logger.info(ret.getResponse().getContentAsString());
}
}
diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java
index 4fce17ec..0cb7d53c 100644
--- a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java
+++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java
@@ -4,6 +4,8 @@ import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.scheduler.MisfireStrategyEnum;
import com.xxl.job.admin.core.scheduler.ScheduleTypeEnum;
import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
@@ -12,6 +14,7 @@ import java.util.List;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class XxlJobInfoDaoTest {
+ private static Logger logger = LoggerFactory.getLogger(XxlJobInfoDaoTest.class);
@Resource
private XxlJobInfoDao xxlJobInfoDao;
@@ -20,9 +23,9 @@ public class XxlJobInfoDaoTest {
public void pageList(){
List list = xxlJobInfoDao.pageList(0, 20, 0, -1, null, null, null);
int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, -1, null, null, null);
-
- System.out.println(list);
- System.out.println(list_count);
+
+ logger.info("", list);
+ logger.info("", list_count);
List list2 = xxlJobInfoDao.getJobsByGroup(1);
}
diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java
index a62541f7..29079f18 100644
--- a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java
+++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java
@@ -2,6 +2,8 @@ package com.xxl.job.admin.util;
import com.xxl.job.admin.core.util.I18nUtil;
import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
/**
@@ -11,12 +13,13 @@ import org.springframework.boot.test.context.SpringBootTest;
*/
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class I18nUtilTest {
+ private static Logger logger = LoggerFactory.getLogger(I18nUtilTest.class);
@Test
public void test(){
- System.out.println(I18nUtil.getString("admin_name"));
- System.out.println(I18nUtil.getMultString("admin_name", "admin_name_full"));
- System.out.println(I18nUtil.getMultString());
+ logger.info(I18nUtil.getString("admin_name"));
+ logger.info(I18nUtil.getMultString("admin_name", "admin_name_full"));
+ logger.info(I18nUtil.getMultString());
}
}
diff --git a/xxl-job-core/pom.xml b/xxl-job-core/pom.xml
index 48f3d50d..a91472be 100644
--- a/xxl-job-core/pom.xml
+++ b/xxl-job-core/pom.xml
@@ -4,7 +4,7 @@
com.xuxueli
xxl-job
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
xxl-job-core
jar
@@ -18,8 +18,8 @@
io.netty
- netty-all
- ${netty-all.version}
+ netty-codec-http
+ ${netty.version}
com.google.code.gson
@@ -30,7 +30,7 @@
- org.codehaus.groovy
+ org.apache.groovy
groovy
${groovy.version}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
index 9c41e72e..e3fb55c5 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
@@ -85,6 +85,7 @@ public class XxlJobExecutor {
//TODO 初始化XXLJOB服务
initEmbedServer(address, ip, port, appname, accessToken);
}
+
public void destroy(){
// destroy executor-server
stopEmbedServer();
@@ -140,6 +141,7 @@ public class XxlJobExecutor {
}
}
}
+
public static List getAdminBizList(){
return adminBizList;
}
@@ -265,6 +267,7 @@ public class XxlJobExecutor {
return newJobThread;
}
+
public static JobThread removeJobThread(int jobId, String removeOldReason){
JobThread oldJobThread = jobThreadRepository.remove(jobId);
if (oldJobThread != null) {
@@ -275,9 +278,8 @@ public class XxlJobExecutor {
}
return null;
}
+
public static JobThread loadJobThread(int jobId){
- JobThread jobThread = jobThreadRepository.get(jobId);
- return jobThread;
+ return jobThreadRepository.get(jobId);
}
-
}
diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java b/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java
index 30134667..d3c9062c 100644
--- a/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java
+++ b/xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSpringExecutor.java
@@ -3,7 +3,6 @@ package com.xxl.job.core.executor.impl;
import com.xxl.job.core.executor.XxlJobExecutor;
import com.xxl.job.core.glue.GlueFactory;
import com.xxl.job.core.handler.annotation.XxlJob;
-import com.xxl.job.core.handler.impl.MethodJobHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
@@ -11,6 +10,7 @@ import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.SmartInitializingSingleton;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.annotation.Lazy;
import org.springframework.core.MethodIntrospector;
import org.springframework.core.annotation.AnnotatedElementUtils;
@@ -94,8 +94,18 @@ public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationC
// init job handler from method
String[] beanDefinitionNames = applicationContext.getBeanNamesForType(Object.class, false, true);
for (String beanDefinitionName : beanDefinitionNames) {
- Object bean = applicationContext.getBean(beanDefinitionName);
+ // get bean
+ Object bean = null;
+ Lazy onBean = applicationContext.findAnnotationOnBean(beanDefinitionName, Lazy.class);
+ if (onBean!=null){
+ logger.debug("xxl-job annotation scan, skip @Lazy Bean:{}", beanDefinitionName);
+ continue;
+ }else {
+ bean = applicationContext.getBean(beanDefinitionName);
+ }
+
+ // filter method
Map annotatedMethods = null; // referred to :org.springframework.context.event.EventListenerMethodProcessor.processBean
try {
annotatedMethods = MethodIntrospector.selectMethods(bean.getClass(),
@@ -112,12 +122,14 @@ public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationC
continue;
}
+ // generate and regist method job handler
for (Map.Entry methodXxlJobEntry : annotatedMethods.entrySet()) {
Method executeMethod = methodXxlJobEntry.getKey();
XxlJob xxlJob = methodXxlJobEntry.getValue();
// regist
registJobHandler(xxlJob, bean, executeMethod);
}
+
}
}
@@ -133,4 +145,13 @@ public class XxlJobSpringExecutor extends XxlJobExecutor implements ApplicationC
return applicationContext;
}
+ /*
+ BeanDefinitionRegistryPostProcessor
+ registry.getBeanDefine()
+ @Override
+ public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
+ this.registry = registry;
+ }
+ * */
+
}
diff --git a/xxl-job-executor-samples/pom.xml b/xxl-job-executor-samples/pom.xml
index 712daf11..4f98415e 100644
--- a/xxl-job-executor-samples/pom.xml
+++ b/xxl-job-executor-samples/pom.xml
@@ -5,7 +5,7 @@
com.xuxueli
xxl-job
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
xxl-job-executor-samples
pom
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
index 39482c54..500cdb48 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml
@@ -6,7 +6,7 @@
com.xuxueli
xxl-job-executor-samples
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
xxl-job-executor-sample-frameless
jar
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/resources/xxl-job-executor.properties b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/resources/xxl-job-executor.properties
index 15a803a6..9b1ab8a7 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/resources/xxl-job-executor.properties
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/resources/xxl-job-executor.properties
@@ -2,7 +2,7 @@
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### xxl-job, access token
-xxl.job.accessToken=
+xxl.job.accessToken=default_token
### xxl-job executor appname
xxl.job.executor.appname=xxl-job-executor-sample
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
index 16ac25c0..c0570081 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml
@@ -6,7 +6,7 @@
com.xuxueli
xxl-job-executor-samples
- 2.3.1-SNAPSHOT
+ 2.4.1-SNAPSHOT
xxl-job-executor-sample-springboot
jar
diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
index bfd8eabb..f00e877a 100644
--- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
+++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
@@ -11,7 +11,7 @@ logging.config=classpath:logback.xml
xxl.job.admin.addresses=http://127.0.0.1:8081/xxl-job-admin
### xxl-job, access token
-xxl.job.accessToken=
+xxl.job.accessToken=default_token
### xxl-job executor appname
xxl.job.executor.appname=xxl-job-executor-sample