refactor(xxl-job): 重构 ReturnT 类并更新相关代码- 重构 ReturnT 类,添加 isSuccess() 方法和静态工厂方法- 更新文档,明确任务执行结果的判断条件

- 修改多个控制器和业务逻辑类,使用新的 ReturnT 静态方法
- 调整测试用例,使用 isSuccess() 方法进行断言- 移除 pom.xml 中的冗余依赖
3.2.0-release
xuxueli 4 weeks ago
parent b54ca22e9e
commit 3a97151cae

@ -1625,7 +1625,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件需要通过
### 5.8 任务执行结果 ### 5.8 任务执行结果
自v1.6.2之后,任务执行结果通过 "IJobHandler" 的返回值 "ReturnT" 进行判断; 自v1.6.2之后,任务执行结果通过 "IJobHandler" 的返回值 "ReturnT" 进行判断;
当返回值符合 "ReturnT.code == ReturnT.SUCCESS_CODE" 时表示任务执行成功,否则表示任务执行失败,而且可以通过 "ReturnT.msg" 回调错误信息给调度中心; 当返回值符合 "ReturnT#code == 200" 时表示任务执行成功,否则表示任务执行失败,而且可以通过 "ReturnT#msg" 回调错误信息给调度中心;
从而,在任务逻辑中可以方便的控制任务执行结果; 从而,在任务逻辑中可以方便的控制任务执行结果;
### 5.9 分片广播 & 动态分片 ### 5.9 分片广播 & 动态分片
@ -2376,7 +2376,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
@XxlJob("demoJobHandler") @XxlJob("demoJobHandler")
public ReturnT<String> execute(String param) { public ReturnT<String> execute(String param) {
XxlJobLogger.log("hello world"); XxlJobLogger.log("hello world");
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
``` ```
- 2、移除commons-exec采用原生方式实现降低第三方依赖 - 2、移除commons-exec采用原生方式实现降低第三方依赖

@ -44,13 +44,11 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId> <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency> </dependency>
<!-- mail-starter --> <!-- mail-starter -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId> <artifactId>spring-boot-starter-mail</artifactId>
</dependency> </dependency>
<!-- starter-actuator --> <!-- starter-actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

@ -99,7 +99,7 @@ public class JobCodeController {
// remove code backup more than 30 // remove code backup more than 30
xxlJobLogGlueDao.removeOld(existsJobInfo.getId(), 30); xxlJobLogGlueDao.removeOld(existsJobInfo.getId(), 30);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
} }

@ -102,7 +102,7 @@ public class JobGroupController {
xxlJobGroup.setUpdateTime(new Date()); xxlJobGroup.setUpdateTime(new Date());
int ret = xxlJobGroupDao.save(xxlJobGroup); int ret = xxlJobGroupDao.save(xxlJobGroup);
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail();
} }
@RequestMapping("/update") @RequestMapping("/update")
@ -149,7 +149,7 @@ public class JobGroupController {
xxlJobGroup.setUpdateTime(new Date()); xxlJobGroup.setUpdateTime(new Date());
int ret = xxlJobGroupDao.update(xxlJobGroup); int ret = xxlJobGroupDao.update(xxlJobGroup);
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail();
} }
private List<String> findRegistryByAppName(String appnameParam){ private List<String> findRegistryByAppName(String appnameParam){
@ -191,7 +191,7 @@ public class JobGroupController {
} }
int ret = xxlJobGroupDao.remove(id); int ret = xxlJobGroupDao.remove(id);
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL; return (ret>0)?ReturnT.ofSuccess():ReturnT.ofFail();
} }
@RequestMapping("/loadById") @RequestMapping("/loadById")

@ -284,7 +284,7 @@ public class JobLogController {
} }
} while (logIds!=null && logIds.size()>0); } while (logIds!=null && logIds.size()>0);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
} }

@ -104,7 +104,7 @@ public class JobUserController {
// write // write
xxlJobUserDao.save(xxlJobUser); xxlJobUserDao.save(xxlJobUser);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@RequestMapping("/update") @RequestMapping("/update")
@ -115,7 +115,7 @@ public class JobUserController {
// avoid opt login seft // avoid opt login seft
XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request);
if (loginUser.getUsername().equals(xxlJobUser.getUsername())) { if (loginUser.getUsername().equals(xxlJobUser.getUsername())) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit")); return ReturnT.ofFail(I18nUtil.getString("user_update_loginuser_limit"));
} }
// valid password // valid password
@ -132,7 +132,7 @@ public class JobUserController {
// write // write
xxlJobUserDao.update(xxlJobUser); xxlJobUserDao.update(xxlJobUser);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@RequestMapping("/remove") @RequestMapping("/remove")
@ -143,11 +143,11 @@ public class JobUserController {
// avoid opt login seft // avoid opt login seft
XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request);
if (loginUser.getId() == id) { if (loginUser.getId() == id) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit")); return ReturnT.ofFail(I18nUtil.getString("user_update_loginuser_limit"));
} }
xxlJobUserDao.delete(id); xxlJobUserDao.delete(id);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@RequestMapping("/updatePwd") @RequestMapping("/updatePwd")
@ -157,15 +157,15 @@ public class JobUserController {
@RequestParam("oldPassword") String oldPassword){ @RequestParam("oldPassword") String oldPassword){
// valid // valid
if (oldPassword==null || oldPassword.trim().length()==0){ if (oldPassword==null || oldPassword.trim().isEmpty()){
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); return ReturnT.ofFail(I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd"));
} }
if (password==null || password.trim().length()==0){ if (password==null || password.trim().isEmpty()){
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd")); return ReturnT.ofFail(I18nUtil.getString("system_please_input") + I18nUtil.getString("change_pwd_field_oldpwd"));
} }
password = password.trim(); password = password.trim();
if (!(password.length()>=4 && password.length()<=20)) { if (!(password.length()>=4 && password.length()<=20)) {
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" ); return ReturnT.ofFail(I18nUtil.getString("system_lengh_limit")+"[4-20]" );
} }
// md5 password // md5 password
@ -176,14 +176,14 @@ public class JobUserController {
XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request); XxlJobUser loginUser = PermissionInterceptor.getLoginUser(request);
XxlJobUser existUser = xxlJobUserDao.loadByUserName(loginUser.getUsername()); XxlJobUser existUser = xxlJobUserDao.loadByUserName(loginUser.getUsername());
if (!md5OldPassword.equals(existUser.getPassword())) { if (!md5OldPassword.equals(existUser.getPassword())) {
return new ReturnT<String>(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 // write new
existUser.setPassword(md5Password); existUser.setPassword(md5Password);
xxlJobUserDao.update(existUser); xxlJobUserDao.update(existUser);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
} }

@ -37,7 +37,7 @@ public class EmailJobAlarm implements JobAlarm {
boolean alarmResult = true; boolean alarmResult = true;
// send monitor email // 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 // alarmContent
String alarmContent = "Alarm Job LogId=" + jobLog.getId(); String alarmContent = "Alarm Job LogId=" + jobLog.getId();

@ -64,14 +64,14 @@ public class XxlJobCompleter {
// trigger child job // trigger child job
JobTriggerPoolHelper.trigger(childJobId, TriggerTypeEnum.PARENT, -1, null, null, null); JobTriggerPoolHelper.trigger(childJobId, TriggerTypeEnum.PARENT, -1, null, null, null);
ReturnT<String> triggerChildResult = ReturnT.SUCCESS; ReturnT<String> triggerChildResult = ReturnT.ofSuccess();
// add msg // add msg
triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg1"), triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg1"),
(i+1), (i+1),
childJobIds.length, childJobIds.length,
childJobIds[i], 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()); triggerChildResult.getMsg());
} else { } else {
triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg2"), triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg2"),

@ -35,7 +35,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
.append("<br>msg").append(idleBeatResult.getMsg()); .append("<br>msg").append(idleBeatResult.getMsg());
// beat success // beat success
if (idleBeatResult.getCode() == ReturnT.SUCCESS_CODE) { if (idleBeatResult.isSuccess()) {
idleBeatResult.setMsg(idleBeatResultSB.toString()); idleBeatResult.setMsg(idleBeatResultSB.toString());
idleBeatResult.setContent(address); idleBeatResult.setContent(address);
return idleBeatResult; return idleBeatResult;

@ -35,7 +35,7 @@ public class ExecutorRouteFailover extends ExecutorRouter {
.append("<br>msg").append(beatResult.getMsg()); .append("<br>msg").append(beatResult.getMsg());
// beat success // beat success
if (beatResult.getCode() == ReturnT.SUCCESS_CODE) { if (beatResult.isSuccess()) {
beatResult.setMsg(beatResultSB.toString()); beatResult.setMsg(beatResultSB.toString());
beatResult.setContent(address); beatResult.setContent(address);

@ -143,12 +143,12 @@ public class JobCompleteHelper {
for (HandleCallbackParam handleCallbackParam: callbackParamList) { for (HandleCallbackParam handleCallbackParam: callbackParamList) {
ReturnT<String> callbackResult = callback(handleCallbackParam); ReturnT<String> callbackResult = callback(handleCallbackParam);
logger.debug(">>>>>>>>> JobApiController.callback {}, handleCallbackParam={}, callbackResult={}", 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<String> callback(HandleCallbackParam handleCallbackParam) { private ReturnT<String> callback(HandleCallbackParam handleCallbackParam) {
@ -176,7 +176,7 @@ public class JobCompleteHelper {
log.setHandleMsg(handleMsg.toString()); log.setHandleMsg(handleMsg.toString());
XxlJobCompleter.updateHandleInfoAndFinish(log); XxlJobCompleter.updateHandleInfoAndFinish(log);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }

@ -175,7 +175,7 @@ public class JobRegistryHelper {
} }
}); });
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
public ReturnT<String> registryRemove(RegistryParam registryParam) { public ReturnT<String> registryRemove(RegistryParam registryParam) {
@ -199,7 +199,7 @@ public class JobRegistryHelper {
} }
}); });
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
private void freshGroupRegistryInfo(RegistryParam registryParam){ private void freshGroupRegistryInfo(RegistryParam registryParam){

@ -150,7 +150,7 @@ public class XxlJobTrigger {
} }
} else { } else {
routeAddressResult = executorRouteStrategyEnum.getRouter().route(triggerParam, group.getRegistryList()); routeAddressResult = executorRouteStrategyEnum.getRouter().route(triggerParam, group.getRegistryList());
if (routeAddressResult.getCode() == ReturnT.SUCCESS_CODE) { if (routeAddressResult.isSuccess()) {
address = routeAddressResult.getContent(); address = routeAddressResult.getContent();
} }
} }

@ -66,7 +66,7 @@ public class LoginService {
// do login // do login
CookieUtil.set(response, LOGIN_IDENTITY_KEY, loginToken, ifRemember); CookieUtil.set(response, LOGIN_IDENTITY_KEY, loginToken, ifRemember);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
/** /**
@ -77,7 +77,7 @@ public class LoginService {
*/ */
public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response){ public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response){
CookieUtil.remove(request, response, LOGIN_IDENTITY_KEY); CookieUtil.remove(request, response, LOGIN_IDENTITY_KEY);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
/** /**

@ -305,20 +305,20 @@ public class XxlJobServiceImpl implements XxlJobService {
xxlJobInfoDao.update(exists_jobInfo); xxlJobInfoDao.update(exists_jobInfo);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@Override @Override
public ReturnT<String> remove(int id) { public ReturnT<String> remove(int id) {
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
if (xxlJobInfo == null) { if (xxlJobInfo == null) {
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
xxlJobInfoDao.delete(id); xxlJobInfoDao.delete(id);
xxlJobLogDao.delete(id); xxlJobLogDao.delete(id);
xxlJobLogGlueDao.deleteByJobId(id); xxlJobLogGlueDao.deleteByJobId(id);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@Override @Override
@ -326,13 +326,13 @@ public class XxlJobServiceImpl implements XxlJobService {
// load and valid // load and valid
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
if (xxlJobInfo == null) { if (xxlJobInfo == null) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid"));
} }
// valid // valid
ScheduleTypeEnum scheduleTypeEnum = ScheduleTypeEnum.match(xxlJobInfo.getScheduleType(), ScheduleTypeEnum.NONE); ScheduleTypeEnum scheduleTypeEnum = ScheduleTypeEnum.match(xxlJobInfo.getScheduleType(), ScheduleTypeEnum.NONE);
if (ScheduleTypeEnum.NONE == scheduleTypeEnum) { if (ScheduleTypeEnum.NONE == scheduleTypeEnum) {
return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("schedule_type_none_limit_start")) ); return ReturnT.ofFail(I18nUtil.getString("schedule_type_none_limit_start"));
} }
// next trigger time (5s后生效避开预读周期) // next trigger time (5s后生效避开预读周期)
@ -354,7 +354,7 @@ public class XxlJobServiceImpl implements XxlJobService {
xxlJobInfo.setUpdateTime(new Date()); xxlJobInfo.setUpdateTime(new Date());
xxlJobInfoDao.update(xxlJobInfo); xxlJobInfoDao.update(xxlJobInfo);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@Override @Override
@ -362,7 +362,7 @@ public class XxlJobServiceImpl implements XxlJobService {
// load and valid // load and valid
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(id);
if (xxlJobInfo == null) { if (xxlJobInfo == null) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid"));
} }
// stop // stop
@ -372,7 +372,7 @@ public class XxlJobServiceImpl implements XxlJobService {
xxlJobInfo.setUpdateTime(new Date()); xxlJobInfo.setUpdateTime(new Date());
xxlJobInfoDao.update(xxlJobInfo); xxlJobInfoDao.update(xxlJobInfo);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@ -381,14 +381,14 @@ public class XxlJobServiceImpl implements XxlJobService {
public ReturnT<String> trigger(XxlJobUser loginUser, int jobId, String executorParam, String addressList) { public ReturnT<String> trigger(XxlJobUser loginUser, int jobId, String executorParam, String addressList) {
// permission // permission
if (loginUser == null) { if (loginUser == null) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("system_permission_limit")); return ReturnT.ofFail(I18nUtil.getString("system_permission_limit"));
} }
XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(jobId); XxlJobInfo xxlJobInfo = xxlJobInfoDao.loadById(jobId);
if (xxlJobInfo == null) { if (xxlJobInfo == null) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("jobinfo_glue_jobid_unvalid")); return ReturnT.ofFail(I18nUtil.getString("jobinfo_glue_jobid_unvalid"));
} }
if (!hasPermission(loginUser, xxlJobInfo.getJobGroup())) { if (!hasPermission(loginUser, xxlJobInfo.getJobGroup())) {
return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("system_permission_limit")); return ReturnT.ofFail(I18nUtil.getString("system_permission_limit"));
} }
// force cover job param // force cover job param
@ -397,7 +397,7 @@ public class XxlJobServiceImpl implements XxlJobService {
} }
JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.MANUAL, -1, null, executorParam, addressList); JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.MANUAL, -1, null, executorParam, addressList);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
private boolean hasPermission(XxlJobUser loginUser, int jobGroup){ private boolean hasPermission(XxlJobUser loginUser, int jobGroup){

@ -3,7 +3,7 @@ server.port=8080
server.servlet.context-path=/xxl-job-admin server.servlet.context-path=/xxl-job-admin
### actuator ### actuator
management.server.base-path=/actuator management.endpoints.web.base-path=/actuator
management.health.mail.enabled=false management.health.mail.enabled=false
### resources ### resources

@ -39,7 +39,7 @@ public class AdminBizTest {
ReturnT<String> returnT = adminBiz.callback(callbackParamList); ReturnT<String> 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"); RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999");
ReturnT<String> returnT = adminBiz.registry(registryParam); ReturnT<String> 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"); RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999");
ReturnT<String> returnT = adminBiz.registryRemove(registryParam); ReturnT<String> returnT = adminBiz.registryRemove(registryParam);
assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); assertTrue(returnT.isSuccess());
} }

@ -24,7 +24,7 @@ public class ExecutorBizImpl implements ExecutorBiz {
@Override @Override
public ReturnT<String> beat() { public ReturnT<String> beat() {
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@Override @Override
@ -40,7 +40,7 @@ public class ExecutorBizImpl implements ExecutorBiz {
if (isRunningOrHasQueue) { if (isRunningOrHasQueue) {
return new ReturnT<String>(ReturnT.FAIL_CODE, "job thread is running or has trigger queue."); return new ReturnT<String>(ReturnT.FAIL_CODE, "job thread is running or has trigger queue.");
} }
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
@Override @Override
@ -154,10 +154,10 @@ public class ExecutorBizImpl implements ExecutorBiz {
JobThread jobThread = XxlJobExecutor.loadJobThread(killParam.getJobId()); JobThread jobThread = XxlJobExecutor.loadJobThread(killParam.getJobId());
if (jobThread != null) { if (jobThread != null) {
XxlJobExecutor.removeJobThread(killParam.getJobId(), "scheduling center kill job."); XxlJobExecutor.removeJobThread(killParam.getJobId(), "scheduling center kill job.");
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
return new ReturnT<String>(ReturnT.SUCCESS_CODE, "job thread already killed."); return ReturnT.ofSuccess( "job thread already killed.");
} }
@Override @Override

@ -4,27 +4,32 @@ import java.io.Serializable;
/** /**
* common return * common return
*
* @author xuxueli 2015-12-4 16:32:31 * @author xuxueli 2015-12-4 16:32:31
* @param <T> * @param <T>
*/ */
public class ReturnT<T> implements Serializable { public class ReturnT<T> implements Serializable {
public static final long serialVersionUID = 42L; public static final long serialVersionUID = 42L;
public static final int SUCCESS_CODE = 200;
public static final int FAIL_CODE = 500;
public static final ReturnT<String> SUCCESS = new ReturnT<String>(null);
public static final ReturnT<String> FAIL = new ReturnT<String>(FAIL_CODE, null);
private int code; private int code;
private String msg; private String msg;
private T content; private T content;
public ReturnT(){} public ReturnT(){}
public ReturnT(int code, String msg) { public ReturnT(int code, String msg) {
this.code = code; this.code = code;
this.msg = msg; this.msg = msg;
} }
public ReturnT(int code, String msg, T content) {
this.code = code;
this.msg = msg;
this.content = content;
}
public ReturnT(T content) { public ReturnT(T content) {
this.code = SUCCESS_CODE; this.code = SUCCESS_CODE;
this.content = content; this.content = content;
@ -33,25 +38,71 @@ public class ReturnT<T> implements Serializable {
public int getCode() { public int getCode() {
return code; return code;
} }
public void setCode(int code) { public void setCode(int code) {
this.code = code; this.code = code;
} }
public String getMsg() { public String getMsg() {
return msg; return msg;
} }
public void setMsg(String msg) { public void setMsg(String msg) {
this.msg = msg; this.msg = msg;
} }
public T getContent() { public T getContent() {
return content; return content;
} }
public void setContent(T content) { public void setContent(T content) {
this.content = content; this.content = content;
} }
@Override @Override
public String toString() { 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 <T> ReturnT<T> of(int code, String msg, T data) {
return new ReturnT<T>(code, msg, data);
}
public static <T> ReturnT<T> of(int code, String msg) {
return new ReturnT<T>(code, msg, null);
}
public static <T> ReturnT<T> ofSuccess(T data) {
return new ReturnT<T>(SUCCESS_CODE, "Success", data);
}
public static <T> ReturnT<T> ofSuccess() {
return new ReturnT<T>(SUCCESS_CODE, "Success", null);
}
public static <T> ReturnT<T> ofFail(String msg) {
return new ReturnT<T>(FAIL_CODE, msg, null);
}
public static <T> ReturnT<T> ofFail() {
return new ReturnT<T>(FAIL_CODE, "Fail", null);
} }
} }

@ -46,8 +46,8 @@ public class ExecutorRegistryThread {
for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) {
try { try {
ReturnT<String> registryResult = adminBiz.registry(registryParam); ReturnT<String> registryResult = adminBiz.registry(registryParam);
if (registryResult!=null && ReturnT.SUCCESS_CODE == registryResult.getCode()) { if (registryResult!=null && registryResult.isSuccess()) {
registryResult = ReturnT.SUCCESS; registryResult = ReturnT.ofSuccess();
logger.debug(">>>>>>>>>>> xxl-job registry success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult}); logger.debug(">>>>>>>>>>> xxl-job registry success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult});
break; break;
} else { } else {
@ -82,8 +82,8 @@ public class ExecutorRegistryThread {
for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) {
try { try {
ReturnT<String> registryResult = adminBiz.registryRemove(registryParam); ReturnT<String> registryResult = adminBiz.registryRemove(registryParam);
if (registryResult!=null && ReturnT.SUCCESS_CODE == registryResult.getCode()) { if (registryResult!=null && registryResult.isSuccess()) {
registryResult = ReturnT.SUCCESS; registryResult = ReturnT.ofSuccess();
logger.info(">>>>>>>>>>> xxl-job registry-remove success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult}); logger.info(">>>>>>>>>>> xxl-job registry-remove success, registryParam:{}, registryResult:{}", new Object[]{registryParam, registryResult});
break; break;
} else { } else {

@ -67,7 +67,7 @@ public class JobThread extends Thread{
triggerLogIdSet.add(triggerParam.getLogId()); triggerLogIdSet.add(triggerParam.getLogId());
triggerQueue.add(triggerParam); triggerQueue.add(triggerParam);
return ReturnT.SUCCESS; return ReturnT.ofSuccess();
} }
/** /**

@ -166,7 +166,7 @@ public class TriggerCallbackThread {
for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) {
try { try {
ReturnT<String> callbackResult = adminBiz.callback(callbackParamList); ReturnT<String> callbackResult = adminBiz.callback(callbackParamList);
if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) { if (callbackResult!=null && callbackResult.isSuccess()) {
callbackLog(callbackParamList, "<br>----------- xxl-job job callback finish."); callbackLog(callbackParamList, "<br>----------- xxl-job job callback finish.");
callbackRet = true; callbackRet = true;
break; break;

Loading…
Cancel
Save