From 3a97151cae444494c44737aca626b7274c7df3c5 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sat, 23 Aug 2025 17:31:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor(xxl-job):=20=E9=87=8D=E6=9E=84=20Retur?= =?UTF-8?q?nT=20=E7=B1=BB=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81-=20=E9=87=8D=E6=9E=84=20ReturnT=20=E7=B1=BB?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=20isSuccess()=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=92=8C=E9=9D=99=E6=80=81=E5=B7=A5=E5=8E=82=E6=96=B9=E6=B3=95?= =?UTF-8?q?-=20=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=EF=BC=8C=E6=98=8E?= =?UTF-8?q?=E7=A1=AE=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6=20-=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=A4=9A=E4=B8=AA=E6=8E=A7=E5=88=B6=E5=99=A8=E5=92=8C?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91=E7=B1=BB=EF=BC=8C=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=96=B0=E7=9A=84=20ReturnT=20=E9=9D=99=E6=80=81?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20-=20=E8=B0=83=E6=95=B4=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=EF=BC=8C=E4=BD=BF=E7=94=A8=20isSuccess()=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E8=BF=9B=E8=A1=8C=E6=96=AD=E8=A8=80-=20?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=20pom.xml=20=E4=B8=AD=E7=9A=84=E5=86=97?= =?UTF-8?q?=E4=BD=99=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 4 +- xxl-job-admin/pom.xml | 2 - .../admin/controller/JobCodeController.java | 2 +- .../admin/controller/JobGroupController.java | 6 +- .../admin/controller/JobLogController.java | 2 +- .../admin/controller/JobUserController.java | 24 +++---- .../admin/core/alarm/impl/EmailJobAlarm.java | 2 +- .../admin/core/complete/XxlJobCompleter.java | 4 +- .../route/strategy/ExecutorRouteBusyover.java | 2 +- .../route/strategy/ExecutorRouteFailover.java | 2 +- .../admin/core/thread/JobCompleteHelper.java | 6 +- .../admin/core/thread/JobRegistryHelper.java | 4 +- .../job/admin/core/trigger/XxlJobTrigger.java | 2 +- .../job/admin/service/impl/LoginService.java | 4 +- .../admin/service/impl/XxlJobServiceImpl.java | 24 +++---- .../src/main/resources/application.properties | 2 +- .../com/xxl/job/adminbiz/AdminBizTest.java | 6 +- .../job/core/biz/impl/ExecutorBizImpl.java | 8 +-- .../com/xxl/job/core/biz/model/ReturnT.java | 65 +++++++++++++++++-- .../core/thread/ExecutorRegistryThread.java | 8 +-- .../com/xxl/job/core/thread/JobThread.java | 2 +- .../core/thread/TriggerCallbackThread.java | 2 +- 22 files changed, 116 insertions(+), 67 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 01c8f7f8..7c4a066d 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1625,7 +1625,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过 ### 5.8 任务执行结果 自v1.6.2之后,任务执行结果通过 "IJobHandler" 的返回值 "ReturnT" 进行判断; -当返回值符合 "ReturnT.code == ReturnT.SUCCESS_CODE" 时表示任务执行成功,否则表示任务执行失败,而且可以通过 "ReturnT.msg" 回调错误信息给调度中心; +当返回值符合 "ReturnT#code == 200" 时表示任务执行成功,否则表示任务执行失败,而且可以通过 "ReturnT#msg" 回调错误信息给调度中心; 从而,在任务逻辑中可以方便的控制任务执行结果; ### 5.9 分片广播 & 动态分片 @@ -2376,7 +2376,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 @XxlJob("demoJobHandler") public ReturnT execute(String param) { XxlJobLogger.log("hello world"); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } ``` - 2、移除commons-exec,采用原生方式实现,降低第三方依赖; diff --git a/xxl-job-admin/pom.xml b/xxl-job-admin/pom.xml index d8849221..3baddd92 100644 --- a/xxl-job-admin/pom.xml +++ b/xxl-job-admin/pom.xml @@ -44,13 +44,11 @@ org.springframework.boot spring-boot-starter-freemarker - org.springframework.boot spring-boot-starter-mail - org.springframework.boot diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java index bfcac94f..deda654a 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java @@ -99,7 +99,7 @@ public class JobCodeController { // remove code backup more than 30 xxlJobLogGlueDao.removeOld(existsJobInfo.getId(), 30); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } } 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 5f96df9a..0a4946b9 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 @@ -102,7 +102,7 @@ public class JobGroupController { xxlJobGroup.setUpdateTime(new Date()); int ret = xxlJobGroupDao.save(xxlJobGroup); - return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; + return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail(); } @RequestMapping("/update") @@ -149,7 +149,7 @@ public class JobGroupController { xxlJobGroup.setUpdateTime(new Date()); int ret = xxlJobGroupDao.update(xxlJobGroup); - return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; + return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail(); } private List findRegistryByAppName(String appnameParam){ @@ -191,7 +191,7 @@ public class JobGroupController { } int ret = xxlJobGroupDao.remove(id); - return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; + return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail(); } @RequestMapping("/loadById") 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 87c886c9..7ef3f4ea 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 @@ -284,7 +284,7 @@ public class JobLogController { } } while (logIds!=null && logIds.size()>0); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java index a3c189f7..935e145b 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java @@ -104,7 +104,7 @@ public class JobUserController { // write xxlJobUserDao.save(xxlJobUser); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @RequestMapping("/update") @@ -115,7 +115,7 @@ public class JobUserController { // avoid opt login seft XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); if (loginUser.getUsername().equals(xxlJobUser.getUsername())) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit")); + return ReturnT.ofFail(I18nUtil.getString("user_update_loginuser_limit")); } // valid password @@ -132,7 +132,7 @@ public class JobUserController { // write xxlJobUserDao.update(xxlJobUser); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @RequestMapping("/remove") @@ -143,11 +143,11 @@ public class JobUserController { // avoid opt login seft XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); if (loginUser.getId() == id) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit")); + return ReturnT.ofFail(I18nUtil.getString("user_update_loginuser_limit")); } xxlJobUserDao.delete(id); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @RequestMapping("/updatePwd") @@ -157,15 +157,15 @@ public class JobUserController { @RequestParam("oldPassword") String oldPassword){ // valid - if (oldPassword==null || oldPassword.trim().length()==0){ - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); + if (oldPassword==null || oldPassword.trim().isEmpty()){ + return ReturnT.ofFail(I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); } - if (password==null || password.trim().length()==0){ - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); + if (password==null || password.trim().isEmpty()){ + return ReturnT.ofFail(I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); } password = password.trim(); if (!(password.length()>=4 && password.length()<=20)) { - return new ReturnT(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" ); + return ReturnT.ofFail(I18nUtil.getString("system_lengh_limit")+"[4-20]" ); } // md5 password @@ -176,14 +176,14 @@ public class JobUserController { XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); XxlJobUser existUser = xxlJobUserDao.loadByUserName(loginUser.getUsername()); if (!md5OldPassword.equals(existUser.getPassword())) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("change_pwd_field_oldpwd") + I18nUtil.getString("system_unvalid")); + return ReturnT.ofFail(I18nUtil.getString("change_pwd_field_oldpwd") + I18nUtil.getString("system_unvalid")); } // write new existUser.setPassword(md5Password); xxlJobUserDao.update(existUser); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java index 04254b10..3f9dbe01 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java @@ -37,7 +37,7 @@ public class EmailJobAlarm implements JobAlarm { boolean alarmResult = true; // send monitor email - if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) { + if (info!=null && info.getAlarmEmail()!=null && !info.getAlarmEmail().trim().isEmpty()) { // alarmContent String alarmContent = "Alarm Job LogId=" + jobLog.getId(); 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 6b615ac2..8aeaacb6 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 @@ -64,14 +64,14 @@ public class XxlJobCompleter { // trigger child job JobTriggerPoolHelper.trigger(childJobId, TriggerTypeEnum.PARENT, -1, null, null, null); - ReturnT triggerChildResult = ReturnT.SUCCESS; + ReturnT triggerChildResult = ReturnT.ofSuccess(); // add msg triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg1"), (i+1), childJobIds.length, childJobIds[i], - (triggerChildResult.getCode()==ReturnT.SUCCESS_CODE?I18nUtil.getString("system_success"):I18nUtil.getString("system_fail")), + (triggerChildResult.isSuccess()?I18nUtil.getString("system_success"):I18nUtil.getString("system_fail")), triggerChildResult.getMsg()); } else { triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg2"), diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java index 868560fc..6b3c98fd 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java @@ -35,7 +35,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter { .append("
msg:").append(idleBeatResult.getMsg()); // beat success - if (idleBeatResult.getCode() == ReturnT.SUCCESS_CODE) { + if (idleBeatResult.isSuccess()) { idleBeatResult.setMsg(idleBeatResultSB.toString()); idleBeatResult.setContent(address); return idleBeatResult; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java index a2e4c909..cf244fed 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java @@ -35,7 +35,7 @@ public class ExecutorRouteFailover extends ExecutorRouter { .append("
msg:").append(beatResult.getMsg()); // beat success - if (beatResult.getCode() == ReturnT.SUCCESS_CODE) { + if (beatResult.isSuccess()) { beatResult.setMsg(beatResultSB.toString()); beatResult.setContent(address); 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 33e345e4..1e6b8a75 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 @@ -143,12 +143,12 @@ public class JobCompleteHelper { for (HandleCallbackParam handleCallbackParam: callbackParamList) { ReturnT callbackResult = callback(handleCallbackParam); logger.debug(">>>>>>>>> JobApiController.callback {}, handleCallbackParam={}, callbackResult={}", - (callbackResult.getCode()== ReturnT.SUCCESS_CODE?"success":"fail"), handleCallbackParam, callbackResult); + (callbackResult.isSuccess()?"success":"fail"), handleCallbackParam, callbackResult); } } }); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } private ReturnT callback(HandleCallbackParam handleCallbackParam) { @@ -176,7 +176,7 @@ public class JobCompleteHelper { log.setHandleMsg(handleMsg.toString()); XxlJobCompleter.updateHandleInfoAndFinish(log); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java index 9e961c57..5fd800f8 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java @@ -175,7 +175,7 @@ public class JobRegistryHelper { } }); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } public ReturnT registryRemove(RegistryParam registryParam) { @@ -199,7 +199,7 @@ public class JobRegistryHelper { } }); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } private void freshGroupRegistryInfo(RegistryParam registryParam){ diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java index 748befc6..7a603fb0 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java @@ -150,7 +150,7 @@ public class XxlJobTrigger { } } else { routeAddressResult = executorRouteStrategyEnum.getRouter().route(triggerParam, group.getRegistryList()); - if (routeAddressResult.getCode() == ReturnT.SUCCESS_CODE) { + if (routeAddressResult.isSuccess()) { address = routeAddressResult.getContent(); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java index e85923e3..00f21bc6 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java @@ -66,7 +66,7 @@ public class LoginService { // do login CookieUtil.set(response, LOGIN_IDENTITY_KEY, loginToken, ifRemember); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } /** @@ -77,7 +77,7 @@ public class LoginService { */ public ReturnT logout(HttpServletRequest request, HttpServletResponse response){ CookieUtil.remove(request, response, LOGIN_IDENTITY_KEY); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } /** diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java index 2fa2efe1..3232bcf7 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java @@ -305,20 +305,20 @@ public class XxlJobServiceImpl implements XxlJobService { xxlJobInfoDao.update(exists_jobInfo); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @Override public ReturnT remove(int id) { XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); if (xxlJobInfo == null) { - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } xxlJobInfoDao.delete(id); xxlJobLogDao.delete(id); xxlJobLogGlueDao.deleteByJobId(id); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @Override @@ -326,13 +326,13 @@ public class XxlJobServiceImpl implements XxlJobService { // load and valid XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); if (xxlJobInfo == null) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); + return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } // valid ScheduleTypeEnum scheduleTypeEnum = ScheduleTypeEnum.match(xxlJobInfo.getScheduleType(), ScheduleTypeEnum.NONE); if (ScheduleTypeEnum.NONE == scheduleTypeEnum) { - return new ReturnT(ReturnT.FAIL_CODE, (I18nUtil.getString("schedule_type_none_limit_start")) ); + return ReturnT.ofFail(I18nUtil.getString("schedule_type_none_limit_start")); } // next trigger time (5s后生效,避开预读周期) @@ -354,7 +354,7 @@ public class XxlJobServiceImpl implements XxlJobService { xxlJobInfo.setUpdateTime(new Date()); xxlJobInfoDao.update(xxlJobInfo); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @Override @@ -362,7 +362,7 @@ public class XxlJobServiceImpl implements XxlJobService { // load and valid XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); if (xxlJobInfo == null) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); + return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } // stop @@ -372,7 +372,7 @@ public class XxlJobServiceImpl implements XxlJobService { xxlJobInfo.setUpdateTime(new Date()); xxlJobInfoDao.update(xxlJobInfo); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @@ -381,14 +381,14 @@ public class XxlJobServiceImpl implements XxlJobService { public ReturnT trigger(XxlJobUser loginUser, int jobId, String executorParam, String addressList) { // permission if (loginUser == null) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("system_permission_limit")); + return ReturnT.ofFail(I18nUtil.getString("system_permission_limit")); } XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(jobId); if (xxlJobInfo == null) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); + return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (!hasPermission(loginUser, xxlJobInfo.getJobGroup())) { - return new ReturnT(ReturnT.FAIL.getCode(), I18nUtil.getString("system_permission_limit")); + return ReturnT.ofFail(I18nUtil.getString("system_permission_limit")); } // force cover job param @@ -397,7 +397,7 @@ public class XxlJobServiceImpl implements XxlJobService { } JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.MANUAL, -1, null, executorParam, addressList); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } private boolean hasPermission(XxlJobUser loginUser, int jobGroup){ diff --git a/xxl-job-admin/src/main/resources/application.properties b/xxl-job-admin/src/main/resources/application.properties index f7b6ffe8..39380c83 100644 --- a/xxl-job-admin/src/main/resources/application.properties +++ b/xxl-job-admin/src/main/resources/application.properties @@ -3,7 +3,7 @@ server.port=8080 server.servlet.context-path=/xxl-job-admin ### actuator -management.server.base-path=/actuator +management.endpoints.web.base-path=/actuator management.health.mail.enabled=false ### resources diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java index 29d37c9c..1cc7f6e8 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -39,7 +39,7 @@ public class AdminBizTest { ReturnT returnT = adminBiz.callback(callbackParamList); - assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + assertTrue(returnT.isSuccess()); } /** @@ -54,7 +54,7 @@ public class AdminBizTest { RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); ReturnT returnT = adminBiz.registry(registryParam); - assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + assertTrue(returnT.isSuccess()); } /** @@ -69,7 +69,7 @@ public class AdminBizTest { RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); ReturnT returnT = adminBiz.registryRemove(registryParam); - assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + assertTrue(returnT.isSuccess()); } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java index 8bdf7093..5b1f4b83 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java @@ -24,7 +24,7 @@ public class ExecutorBizImpl implements ExecutorBiz { @Override public ReturnT beat() { - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @Override @@ -40,7 +40,7 @@ public class ExecutorBizImpl implements ExecutorBiz { if (isRunningOrHasQueue) { return new ReturnT(ReturnT.FAIL_CODE, "job thread is running or has trigger queue."); } - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } @Override @@ -154,10 +154,10 @@ public class ExecutorBizImpl implements ExecutorBiz { JobThread jobThread = XxlJobExecutor.loadJobThread(killParam.getJobId()); if (jobThread != null) { XxlJobExecutor.removeJobThread(killParam.getJobId(), "scheduling center kill job."); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } - return new ReturnT(ReturnT.SUCCESS_CODE, "job thread already killed."); + return ReturnT.ofSuccess( "job thread already killed."); } @Override diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/ReturnT.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/ReturnT.java index 83d7a361..b815f815 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/ReturnT.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/ReturnT.java @@ -4,27 +4,32 @@ import java.io.Serializable; /** * common return + * * @author xuxueli 2015-12-4 16:32:31 * @param */ public class ReturnT implements Serializable { public static final long serialVersionUID = 42L; - public static final int SUCCESS_CODE = 200; - public static final int FAIL_CODE = 500; - - public static final ReturnT SUCCESS = new ReturnT(null); - public static final ReturnT FAIL = new ReturnT(FAIL_CODE, null); - private int code; + private String msg; + private T content; public ReturnT(){} + public ReturnT(int code, String msg) { this.code = code; this.msg = msg; } + + public ReturnT(int code, String msg, T content) { + this.code = code; + this.msg = msg; + this.content = content; + } + public ReturnT(T content) { this.code = SUCCESS_CODE; this.content = content; @@ -33,25 +38,71 @@ public class ReturnT implements Serializable { public int getCode() { return code; } + public void setCode(int code) { this.code = code; } + public String getMsg() { return msg; } + public void setMsg(String msg) { this.msg = msg; } + public T getContent() { return content; } + public void setContent(T content) { this.content = content; } @Override public String toString() { - return "ReturnT [code=" + code + ", msg=" + msg + ", content=" + content + "]"; + return "ReturnT{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", content=" + content + + '}'; + } + + + // --------------------------- tool --------------------------- + + public static final int SUCCESS_CODE = 200; + public static final int FAIL_CODE = 500; + + /** + * is success + * + * @return + */ + public boolean isSuccess() { + return code == SUCCESS_CODE; + } + + public static ReturnT of(int code, String msg, T data) { + return new ReturnT(code, msg, data); + } + public static ReturnT of(int code, String msg) { + return new ReturnT(code, msg, null); + } + + public static ReturnT ofSuccess(T data) { + return new ReturnT(SUCCESS_CODE, "Success", data); + } + + public static ReturnT ofSuccess() { + return new ReturnT(SUCCESS_CODE, "Success", null); + } + + public static ReturnT ofFail(String msg) { + return new ReturnT(FAIL_CODE, msg, null); + } + public static ReturnT ofFail() { + return new ReturnT(FAIL_CODE, "Fail", null); } } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java index 36b32c95..48fd8546 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java @@ -46,8 +46,8 @@ public class ExecutorRegistryThread { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { try { ReturnT registryResult = adminBiz.registry(registryParam); - if (registryResult!=null && ReturnT.SUCCESS_CODE == registryResult.getCode()) { - registryResult = ReturnT.SUCCESS; + if (registryResult!=null && registryResult.isSuccess()) { + registryResult = ReturnT.ofSuccess(); logger.debug(">>>>>>>>>>> xxl-job registry success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult}); break; } else { @@ -82,8 +82,8 @@ public class ExecutorRegistryThread { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { try { ReturnT registryResult = adminBiz.registryRemove(registryParam); - if (registryResult!=null && ReturnT.SUCCESS_CODE == registryResult.getCode()) { - registryResult = ReturnT.SUCCESS; + if (registryResult!=null && registryResult.isSuccess()) { + registryResult = ReturnT.ofSuccess(); logger.info(">>>>>>>>>>> xxl-job registry-remove success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult}); break; } else { diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java index 7c10ee79..fdebd5d5 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java @@ -67,7 +67,7 @@ public class JobThread extends Thread{ triggerLogIdSet.add(triggerParam.getLogId()); triggerQueue.add(triggerParam); - return ReturnT.SUCCESS; + return ReturnT.ofSuccess(); } /** diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java index 1d272466..624098f6 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java @@ -166,7 +166,7 @@ public class TriggerCallbackThread { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { try { ReturnT callbackResult = adminBiz.callback(callbackParamList); - if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) { + if (callbackResult!=null && callbackResult.isSuccess()) { callbackLog(callbackParamList, "
----------- xxl-job job callback finish."); callbackRet = true; break;