From 5dfc6a1092ae8131db160d23323dca33f7501ad8 Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Thu, 5 Nov 2020 20:07:32 +0800 Subject: [PATCH] =?UTF-8?q?-=203=E3=80=81=E3=80=90=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E3=80=91=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1=E8=BE=85=E5=8A=A9?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=20"XxlJobHelper"=EF=BC=8C=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=BB=BB=E5=8A=A1=E8=BE=85=E5=8A=A9=E8=83=BD?= =?UTF-8?q?=E5=8A=9B=EF=BC=8C=E5=8C=85=E6=8B=AC=EF=BC=9A=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87=E4=BF=A1=E6=81=AF=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=EF=BC=88=E4=BB=BB=E5=8A=A1=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E3=80=81=E4=BB=BB=E5=8A=A1ID=E3=80=81=E5=88=86=E7=89=87?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=89=E3=80=81=E6=97=A5=E5=BF=97=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E3=80=81=E4=BB=BB=E5=8A=A1=E7=BB=93=E6=9E=9C=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E2=80=A6=E2=80=A6=E7=AD=89=EF=BC=9B=20=20=20=20=20-?= =?UTF-8?q?=203.1=E3=80=81"ShardingUtil"=20=E7=BB=84=E4=BB=B6=E5=BA=9F?= =?UTF-8?q?=E5=BC=83=EF=BC=9A=E6=94=B9=E7=94=A8=20"XxlJobHelper.getShardIn?= =?UTF-8?q?dex()/getShardTotal();"=20=E8=8E=B7=E5=8F=96=E5=88=86=E7=89=87?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=9B=20=20=20=20=20-=203.2=E3=80=81"XxlJ?= =?UTF-8?q?obLogger"=20=E7=BB=84=E4=BB=B6=E5=BA=9F=E5=BC=83=EF=BC=9A?= =?UTF-8?q?=E6=94=B9=E7=94=A8=20"XxlJobHelper.log"=20=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA=EF=BC=9B=20-=204=E3=80=81?= =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91=E4=BB=BB=E5=8A=A1=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E7=B1=BB=20"IJobHandler"=20=E7=9A=84=20"execute"=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=8F=96=E6=B6=88=E5=87=BA=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E3=80=82=E6=94=B9=E4=B8=BA=E9=80=9A=E8=BF=87?= =?UTF-8?q?=20"XxlJobHelper.getJobParam"=20=E8=8E=B7=E5=8F=96=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=82=E6=95=B0=E5=B9=B6=E6=9B=BF=E4=BB=A3=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=85=A5=E5=8F=82=EF=BC=8C=E9=80=9A=E8=BF=87=20"XxlJo?= =?UTF-8?q?bHelper.handleSuccess/handleFail"=20=E8=AE=BE=E7=BD=AE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=BB=93=E6=9E=9C=E5=B9=B6=E6=9B=BF=E4=BB=A3=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=87=BA=E5=8F=82=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB-English-Documentation.md | 3 +- doc/XXL-JOB官方文档.md | 61 +++-- .../admin/core/complete/XxlJobCompleter.java | 4 +- .../admin/core/thread/JobCompleteHelper.java | 11 +- .../resources/static/js/jobinfo.index.1.js | 6 + .../templates/jobinfo/jobinfo.index.ftl | 8 +- .../com/xxl/job/adminbiz/AdminBizTest.java | 3 +- .../core/biz/model/HandleCallbackParam.java | 27 +- .../xxl/job/core/context/XxlJobContext.java | 56 +++- .../xxl/job/core/context/XxlJobHelper.java | 255 ++++++++++++++++++ .../xxl/job/core/executor/XxlJobExecutor.java | 6 +- .../executor/impl/XxlJobSimpleExecutor.java | 122 +++++++++ .../executor/impl/XxlJobSpringExecutor.java | 18 +- .../com/xxl/job/core/handler/IJobHandler.java | 23 +- .../job/core/handler/impl/GlueJobHandler.java | 9 +- .../core/handler/impl/MethodJobHandler.java | 14 +- .../core/handler/impl/ScriptJobHandler.java | 18 +- .../com/xxl/job/core/log/XxlJobLogger.java | 86 ------ .../com/xxl/job/core/thread/JobThread.java | 88 +++--- .../core/thread/TriggerCallbackThread.java | 5 +- .../com/xxl/job/core/util/ScriptUtil.java | 10 +- xxl-job-executor-samples/pom.xml | 1 - .../jobhandler/CommandJobHandler.java | 54 ---- .../frameless/jobhandler/DemoJobHandler.java | 32 --- .../frameless/jobhandler/HttpJobHandler.java | 121 --------- .../jobhandler/ShardingJobHandler.java | 36 --- .../frameless/FramelessApplication.java | 4 +- .../config/FrameLessXxlJobConfig.java | 24 +- .../frameless/jobhandler/SampleXxlJob.java | 251 +++++++++++++++++ .../resources/xxl-job-executor.properties | 2 +- .../xxl-job-executor-sample-jfinal/pom.xml | 44 --- .../jfinal/XxlJobExecutorApplication.java | 12 - .../jfinal/config/JFinalCoreConfig.java | 85 ------ .../jfinal/controller/IndexController.java | 11 - .../jfinal/jobhandler/CommandJobHandler.java | 54 ---- .../jfinal/jobhandler/DemoJobHandler.java | 32 --- .../jfinal/jobhandler/HttpJobHandler.java | 121 --------- .../jfinal/jobhandler/ShardingJobHandler.java | 36 --- .../src/main/resources/log4j.xml | 27 -- .../resources/xxl-job-executor.properties | 17 -- .../src/main/webapp/WEB-INF/web.xml | 32 --- .../src/main/webapp/index.html | 1 - .../service/jobhandler/SampleXxlJob.java | 94 ++++--- .../service/jobhandler/SampleXxlJob.java | 86 +++--- 44 files changed, 968 insertions(+), 1042 deletions(-) create mode 100644 xxl-job-core/src/main/java/com/xxl/job/core/context/XxlJobHelper.java create mode 100644 xxl-job-core/src/main/java/com/xxl/job/core/executor/impl/XxlJobSimpleExecutor.java delete mode 100644 xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xuxueli/executor/sample/frameless/jobhandler/CommandJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xuxueli/executor/sample/frameless/jobhandler/DemoJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xuxueli/executor/sample/frameless/jobhandler/HttpJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xuxueli/executor/sample/frameless/jobhandler/ShardingJobHandler.java rename xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/{xuxueli => xxl/job}/executor/sample/frameless/FramelessApplication.java (88%) rename xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/{xuxueli => xxl/job}/executor/sample/frameless/config/FrameLessXxlJobConfig.java (75%) create mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-frameless/src/main/java/com/xxl/job/executor/sample/frameless/jobhandler/SampleXxlJob.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/pom.xml delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/XxlJobExecutorApplication.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/config/JFinalCoreConfig.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/controller/IndexController.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/jobhandler/CommandJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/jobhandler/DemoJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/jobhandler/HttpJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/java/com/xuxueli/executor/sample/jfinal/jobhandler/ShardingJobHandler.java delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/resources/log4j.xml delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/resources/xxl-job-executor.properties delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/webapp/WEB-INF/web.xml delete mode 100644 xxl-job-executor-samples/xxl-job-executor-sample-jfinal/src/main/webapp/index.html diff --git a/doc/XXL-JOB-English-Documentation.md b/doc/XXL-JOB-English-Documentation.md index 0f480397..792f3ead 100644 --- a/doc/XXL-JOB-English-Documentation.md +++ b/doc/XXL-JOB-English-Documentation.md @@ -397,9 +397,8 @@ Source code is organized by maven,unzip it and structure is as follows: xxl-job-admin:schedule admin center xxl-job-core:public common dependent library xxl-job-executor:executor Sample(Select appropriate version of executor,Can be used directly,You can also refer to it and transform existing projects into executors) -        :xxl-job-executor-sample-spring:Spring version,executors managed by Spring,general and recommend; + :xxl-job-executor-sample-spring:Spring version,executors managed by Spring,general and recommend; :xxl-job-executor-sample-springboot:Springboot version,executors managed by Springboot; - :xxl-job-executor-sample-jfinal:JFinal version,executors managed by JFinal; ### 2.3 Configure and delploy "Schedule Center" diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index cd5d03f5..11cc0d61 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -559,7 +559,6 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅 :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式; :xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用; :xxl-job-executor-sample-frameless:无框架版本; - :xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器; ### 2.3 配置部署“调度中心” @@ -714,7 +713,6 @@ public XxlJobSpringExecutor xxlJobExecutor() { xxl-job-executor-sample-springboot:项目编译打包成springboot类型的可执行JAR包,命令启动即可; xxl-job-executor-sample-spring:项目编译打包成WAR包,并部署到tomcat中。 - xxl-job-executor-sample-jfinal:同上 至此“执行器”项目已经部署结束。 @@ -1239,7 +1237,7 @@ xxl-job-admin#com.xxl.job.admin.controller.JobApiController.callback “执行器”接收到“调度中心”的调度请求时,如果任务类型为“Bean模式”,将会匹配Spring容器中的“Bean模式任务”,然后调用其execute方法,执行任务逻辑。如果任务类型为“GLUE模式”,将会加载GLue代码,实例化Java对象,注入依赖的Spring服务(注意:Glue代码中注入的Spring服务,必须存在与该“执行器”项目的Spring容器中),然后调用execute方法,执行任务逻辑。 #### 5.5.5 任务日志 -XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过 "XxlJobLogger.log" 打印执行日志,“调度中心”查看执行日志时将会加载对应的日志文件。 +XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过 "XxlJobHelper.log" 打印执行日志,“调度中心”查看执行日志时将会加载对应的日志文件。 (历史版本通过重写LOG4J的Appender实现,存在依赖限制,该方式在新版本已经被抛弃) @@ -2062,37 +2060,38 @@ data: post-data 注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意; ### 7.31 版本 v2.3.0 Release Notes[迭代中] -- 1、新增调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; -- 2、新增触发策略:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、固定延时触发(规划)" 两种新触发方式; -- 3、Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间; -- 4、Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题; -- 5、新增任务属性 "XxlJobContext" ,统一维护任务上下文信息,包括任务ID、分片参数等,方便运行时存取任务相关信息; - - 6.1、废弃 "ShardingUtil" 组件:改用 "XxlJobContext.getXxlJobContext().getShardIndex()/getShardTotal();" 获取分片参数; - - 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContext 获取任务上下文并匹配写入对应日志文件; -- 6、执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能; -- 7、执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等) -- 8、邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务; -- 9、多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等; -- 10、UI组件常规升级,提升组件稳定性; -- 11、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等; -- 12、通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题; -- 13、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题; -- 14、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; -- 15、调度中心远程执行日志查询乱码问题修复; -- 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题; -- 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题; -- 18、调度线程连接池优化,修复连接有效性校验超时问题; -- 19、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; -- 20、轮训路由策略优化,修复小概率下并发问题; -- 21、页面redirect跳转后https变为http问题修复; -- 22、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; -- 23、执行器示例项目规范整理; -- 24、任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete); -- 25、[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 +- 1、【新增】调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; +- 2、【新增】触发策略:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、(固定延时触发,实验中)" 新触发方式; +- 3、【新增】新增任务辅助工具 "XxlJobHelper",提供统一任务辅助能力,包括:任务上下文信息维护获取(任务参数、任务ID、分片参数)、日志输出、任务结果设置……等; + - 3.1、"ShardingUtil" 组件废弃:改用 "XxlJobHelper.getShardIndex()/getShardTotal();" 获取分片参数; + - 3.2、"XxlJobLogger" 组件废弃:改用 "XxlJobHelper.log" 进行日志输出; +- 4、【优化】任务核心类 "IJobHandler" 的 "execute" 方法取消出入参设计。改为通过 "XxlJobHelper.getJobParam" 获取任务参数并替代方法入参,通过 "XxlJobHelper.handleSuccess/handleFail" 设置任务结果并替代方法出参; +- 4、【优化】Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间; +- 5、【优化】执行器示例项目规范整理; +- 6、【优化】任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete); +- 7、【优化】[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 - 普通任务:只记录一条主任务; - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上; - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。 -- 26、[规划中]分片任务:全部完成后才会出发后置节点; +- 8、【优化】[规划中]分片任务:全部完成后才会出发后置节点; +- 9、【优化】执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能; +- 10、【优化】执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等) +- 11、【优化】邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务; +- 12、【优化】多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等; +- 13、【优化】UI组件常规升级,提升组件稳定性; +- 14、【优化】调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等; +- 15、【修复】Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题; +- 16、【修复】通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题; +- 17、【修复】执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题; +- 18、【修复】调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; +- 19、【修复】调度中心远程执行日志查询乱码问题修复; +- 20、【修复】调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题; +- 21、【修复】执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题; +- 22、【修复】调度线程连接池优化,修复连接有效性校验超时问题; +- 23、【修复】执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; +- 24、【修复】轮训路由策略优化,修复小概率下并发问题; +- 25、【修复】页面redirect跳转后https变为http问题修复; +- 26、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; ### 7.32 版本 v2.4.0 Release Notes[规划中] diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java index 8cfb7571..b9ac59a3 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java @@ -7,7 +7,7 @@ import com.xxl.job.admin.core.thread.JobTriggerPoolHelper; import com.xxl.job.admin.core.trigger.TriggerTypeEnum; import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.IJobHandler; +import com.xxl.job.core.context.XxlJobContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,7 +47,7 @@ public class XxlJobCompleter { // 1、handle success, to trigger child job String triggerChildMsg = null; - if (IJobHandler.SUCCESS.getCode() == xxlJobLog.getHandleCode()) { + if (XxlJobContext.HANDLE_COCE_SUCCESS == xxlJobLog.getHandleCode()) { XxlJobInfo xxlJobInfo = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().loadById(xxlJobLog.getJobId()); if (xxlJobInfo!=null && xxlJobInfo.getChildJobId()!=null && xxlJobInfo.getChildJobId().trim().length()>0) { triggerChildMsg = "

>>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_child_run") +"<<<<<<<<<<<
"; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java index f24b1d50..5698926a 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java @@ -1,12 +1,11 @@ package com.xxl.job.admin.core.thread; -import com.xxl.job.admin.core.conf.XxlJobAdminConfig; import com.xxl.job.admin.core.complete.XxlJobCompleter; +import com.xxl.job.admin.core.conf.XxlJobAdminConfig; import com.xxl.job.admin.core.model.XxlJobLog; import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.core.biz.model.HandleCallbackParam; import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.util.DateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -144,7 +143,7 @@ public class JobCompleteHelper { for (HandleCallbackParam handleCallbackParam: callbackParamList) { ReturnT callbackResult = callback(handleCallbackParam); logger.debug(">>>>>>>>> JobApiController.callback {}, handleCallbackParam={}, callbackResult={}", - (callbackResult.getCode()== IJobHandler.SUCCESS.getCode()?"success":"fail"), handleCallbackParam, callbackResult); + (callbackResult.getCode()== ReturnT.SUCCESS_CODE?"success":"fail"), handleCallbackParam, callbackResult); } } }); @@ -167,13 +166,13 @@ public class JobCompleteHelper { if (log.getHandleMsg()!=null) { handleMsg.append(log.getHandleMsg()).append("
"); } - if (handleCallbackParam.getExecuteResult().getMsg() != null) { - handleMsg.append(handleCallbackParam.getExecuteResult().getMsg()); + if (handleCallbackParam.getHandleMsg() != null) { + handleMsg.append(handleCallbackParam.getHandleMsg()); } // success, save log log.setHandleTime(new Date()); - log.setHandleCode(handleCallbackParam.getExecuteResult().getCode()); + log.setHandleCode(handleCallbackParam.getHandleCode()); log.setHandleMsg(handleMsg.toString()); XxlJobCompleter.updateHandleInfoAndFinish(log); diff --git a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js index 833e621a..b46dfbed 100644 --- a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js +++ b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js @@ -374,6 +374,12 @@ $(function() { $("#addModal .form input[name='schedule_conf_CRON']").show().siblings().remove(); $("#addModal .form input[name='schedule_conf_CRON']").cronGen({}); + // 》init scheduleType + $("#updateModal .form select[name=scheduleType]").change(); + + // 》init glueType + $("#updateModal .form select[name=glueType]").change(); + $('#addModal').modal({backdrop: false, keyboard: false}).modal('show'); }); var addModalValidate = $("#addModal .form").validate({ diff --git a/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl b/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl index 79965afe..3a5d7d8a 100644 --- a/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl +++ b/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl @@ -245,16 +245,14 @@