From 7e626ea2193d39217fa7321a865bfab014c5ea69 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 22 五月 2022 13:07:36 +0800
Subject: [PATCH] update xxl-job 2.3.0 => 2.3.1
---
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java | 24
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java | 54 +-
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java | 22
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java | 16
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java | 32
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java | 1
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java | 419 +++++++++--------
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java | 16
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java | 30
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java | 1
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java | 3
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js | 358 +++++++-------
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java | 12
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java | 51 +-
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java | 12
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java | 11
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java | 23
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java | 6
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java | 14
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java | 11
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java | 6
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java | 13
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java | 8
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java | 59 +-
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java | 8
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties | 4
pom.xml | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java | 5
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java | 6
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties | 12
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java | 2
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java | 14
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java | 5
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java | 6
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java | 4
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java | 12
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties | 4
52 files changed, 678 insertions(+), 658 deletions(-)
diff --git a/pom.xml b/pom.xml
index 62666b0..2dff117 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
<lock4j.version>2.2.1</lock4j.version>
<dynamic-ds.version>3.5.1</dynamic-ds.version>
<tlog.version>1.4.0</tlog.version>
- <xxl-job.version>2.3.0</xxl-job.version>
+ <xxl-job.version>2.3.1</xxl-job.version>
<!-- jdk11 缂哄け渚濊禆 jaxb-->
<jaxb.version>3.0.1</jaxb.version>
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
index 8d5495c..bbb2507 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
@@ -56,13 +56,13 @@
@PermissionLimit(limit = false)
public ModelAndView toLogin(HttpServletRequest request, HttpServletResponse response, ModelAndView modelAndView) {
if (loginService.ifLogin(request, response) != null) {
- modelAndView.setView(new RedirectView("/" , true, false));
+ modelAndView.setView(new RedirectView("/", true, false));
return modelAndView;
}
return new ModelAndView("login");
}
- @RequestMapping(value = "login" , method = RequestMethod.POST)
+ @RequestMapping(value = "login", method = RequestMethod.POST)
@ResponseBody
@PermissionLimit(limit = false)
public ReturnT<String> loginDo(HttpServletRequest request, HttpServletResponse response, String userName, String password, String ifRemember) {
@@ -70,7 +70,7 @@
return loginService.login(request, response, userName, password, ifRem);
}
- @RequestMapping(value = "logout" , method = RequestMethod.POST)
+ @RequestMapping(value = "logout", method = RequestMethod.POST)
@ResponseBody
@PermissionLimit(limit = false)
public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response) {
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
index aa51e73..f4a37a7 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
@@ -37,19 +37,19 @@
*/
@RequestMapping("/{uri}")
@ResponseBody
- @PermissionLimit(limit=false)
+ @PermissionLimit(limit = false)
public ReturnT<String> api(HttpServletRequest request, @PathVariable("uri") String uri, @RequestBody(required = false) String data) {
// valid
if (!"POST".equalsIgnoreCase(request.getMethod())) {
return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, HttpMethod not support.");
}
- if (uri==null || uri.trim().length()==0) {
+ if (uri == null || uri.trim().length() == 0) {
return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping empty.");
}
- if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
- && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
- && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_JOB_ACCESS_TOKEN))) {
+ if (XxlJobAdminConfig.getAdminConfig().getAccessToken() != null
+ && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length() > 0
+ && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_JOB_ACCESS_TOKEN))) {
return new ReturnT<String>(ReturnT.FAIL_CODE, "The access token is wrong.");
}
@@ -64,7 +64,7 @@
RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
return adminBiz.registryRemove(registryParam);
} else {
- return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping("+ uri +") not found.");
+ return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping(" + uri + ") not found.");
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
index 0c8384f..9185f86 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
@@ -47,10 +47,10 @@
JobInfoController.validPermission(request, jobInfo.getJobGroup());
// Glue绫诲瀷-瀛楀吀
- model.addAttribute("GlueTypeEnum" , GlueTypeEnum.values());
+ model.addAttribute("GlueTypeEnum", GlueTypeEnum.values());
- model.addAttribute("jobInfo" , jobInfo);
- model.addAttribute("jobLogGlues" , jobLogGlues);
+ model.addAttribute("jobInfo", jobInfo);
+ model.addAttribute("jobLogGlues", jobLogGlues);
return "jobcode/jobcode.index";
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
index 4a46200..82ec2de 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
@@ -52,9 +52,9 @@
// package result
Map<String, Object> maps = new HashMap<String, Object>();
- maps.put("recordsTotal" , list_count); // 鎬昏褰曟暟
- maps.put("recordsFiltered" , list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
- maps.put("data" , list); // 鍒嗛〉鍒楄〃
+ maps.put("recordsTotal", list_count); // 鎬昏褰曟暟
+ maps.put("recordsFiltered", list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
+ maps.put("data", list); // 鍒嗛〉鍒楄〃
return maps;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
index 0f52bef..157c60b 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
@@ -49,11 +49,11 @@
public String index(HttpServletRequest request, Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) {
// 鏋氫妇-瀛楀吀
- model.addAttribute("ExecutorRouteStrategyEnum" , ExecutorRouteStrategyEnum.values()); // 璺敱绛栫暐-鍒楄〃
- model.addAttribute("GlueTypeEnum" , GlueTypeEnum.values()); // Glue绫诲瀷-瀛楀吀
- model.addAttribute("ExecutorBlockStrategyEnum" , ExecutorBlockStrategyEnum.values()); // 闃诲澶勭悊绛栫暐-瀛楀吀
- model.addAttribute("ScheduleTypeEnum" , ScheduleTypeEnum.values()); // 璋冨害绫诲瀷
- model.addAttribute("MisfireStrategyEnum" , MisfireStrategyEnum.values()); // 璋冨害杩囨湡绛栫暐
+ model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 璺敱绛栫暐-鍒楄〃
+ model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue绫诲瀷-瀛楀吀
+ model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 闃诲澶勭悊绛栫暐-瀛楀吀
+ model.addAttribute("ScheduleTypeEnum", ScheduleTypeEnum.values()); // 璋冨害绫诲瀷
+ model.addAttribute("MisfireStrategyEnum", MisfireStrategyEnum.values()); // 璋冨害杩囨湡绛栫暐
// 鎵ц鍣ㄥ垪琛�
List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll();
@@ -64,8 +64,8 @@
throw new XxlJobException(I18nUtil.getString("jobgroup_empty"));
}
- model.addAttribute("JobGroupList" , jobGroupList);
- model.addAttribute("jobGroup" , jobGroup);
+ model.addAttribute("JobGroupList", jobGroupList);
+ model.addAttribute("jobGroup", jobGroup);
return "jobinfo/jobinfo.index";
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
index 141b539..3369edb 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
+++ b/ruoyi-extend/ruoyi-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.complete.XxlJobCompleter;
import com.xxl.job.admin.core.exception.XxlJobException;
+import com.xxl.job.admin.core.complete.XxlJobCompleter;
import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.model.XxlJobLog;
@@ -60,7 +60,7 @@
throw new XxlJobException(I18nUtil.getString("jobgroup_empty"));
}
- model.addAttribute("JobGroupList" , jobGroupList);
+ model.addAttribute("JobGroupList", jobGroupList);
// 浠诲姟
if (jobId > 0) {
@@ -69,7 +69,7 @@
throw new RuntimeException(I18nUtil.getString("jobinfo_field_id") + I18nUtil.getString("system_unvalid"));
}
- model.addAttribute("jobInfo" , jobInfo);
+ model.addAttribute("jobInfo", jobInfo);
// valid permission
JobInfoController.validPermission(request, jobInfo.getJobGroup());
@@ -112,9 +112,9 @@
// package result
Map<String, Object> maps = new HashMap<String, Object>();
- maps.put("recordsTotal" , list_count); // 鎬昏褰曟暟
- maps.put("recordsFiltered" , list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
- maps.put("data" , list); // 鍒嗛〉鍒楄〃
+ maps.put("recordsTotal", list_count); // 鎬昏褰曟暟
+ maps.put("recordsFiltered", list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
+ maps.put("data", list); // 鍒嗛〉鍒楄〃
return maps;
}
@@ -128,11 +128,11 @@
throw new RuntimeException(I18nUtil.getString("joblog_logid_unvalid"));
}
- 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());
+ 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";
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java
index b38e1b1..878998d 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java
@@ -40,7 +40,7 @@
// 鎵ц鍣ㄥ垪琛�
List<XxlJobGroup> groupList = xxlJobGroupDao.findAll();
- model.addAttribute("groupList" , groupList);
+ model.addAttribute("groupList", groupList);
return "user/user.index";
}
@@ -65,9 +65,9 @@
// package result
Map<String, Object> maps = new HashMap<String, Object>();
- maps.put("recordsTotal" , list_count); // 鎬昏褰曟暟
- maps.put("recordsFiltered" , list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
- maps.put("data" , list); // 鍒嗛〉鍒楄〃
+ maps.put("recordsTotal", list_count); // 鎬昏褰曟暟
+ maps.put("recordsFiltered", list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
+ maps.put("data", list); // 鍒嗛〉鍒楄〃
return maps;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
index 6714d1e..2283849 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
@@ -29,15 +29,14 @@
for (Cookie ck : request.getCookies()) {
cookieMap.put(ck.getName(), ck);
}
- modelAndView.addObject("cookieMap" , cookieMap);
+ modelAndView.addObject("cookieMap", cookieMap);
}
// static method
if (modelAndView != null) {
- modelAndView.addObject("I18nUtil" , FtlUtil.generateStaticModel(I18nUtil.class.getName()));
+ modelAndView.addObject("I18nUtil", FtlUtil.generateStaticModel(I18nUtil.class.getName()));
}
- AsyncHandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
index ecaeca0..13e53b2 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
@@ -27,7 +27,7 @@
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (!(handler instanceof HandlerMethod)) {
- return AsyncHandlerInterceptor.super.preHandle(request, response, handler);
+ return true; // proceed with the next interceptor
}
// if need login
@@ -44,7 +44,7 @@
XxlJobUser loginUser = loginService.ifLogin(request, response);
if (loginUser == null) {
response.setStatus(302);
- response.setHeader("location" , request.getContextPath() + "/toLogin");
+ response.setHeader("location", request.getContextPath() + "/toLogin");
return false;
}
if (needAdminuser && loginUser.getRole() != 1) {
@@ -53,7 +53,7 @@
request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser);
}
- return AsyncHandlerInterceptor.super.preHandle(request, response, handler);
+ return true; // proceed with the next interceptor
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java
index 4cd7f19..d7cc0db 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java
@@ -1,8 +1,8 @@
package com.xxl.job.admin.controller.resolver;
import com.xxl.job.admin.core.exception.XxlJobException;
-import com.xxl.job.admin.core.util.JacksonUtil;
import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.admin.core.util.JacksonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -29,7 +29,7 @@
HttpServletResponse response, Object handler, Exception ex) {
if (!(ex instanceof XxlJobException)) {
- logger.error("WebExceptionResolver:{}" , ex);
+ logger.error("WebExceptionResolver:{}", ex);
}
// if json
@@ -43,7 +43,7 @@
}
// error result
- ReturnT<String> errorResult = new ReturnT<String>(ReturnT.FAIL_CODE, ex.toString().replaceAll("\n" , "<br/>"));
+ ReturnT<String> errorResult = new ReturnT<String>(ReturnT.FAIL_CODE, ex.toString().replaceAll("\n", "<br/>"));
// response
ModelAndView mv = new ModelAndView();
@@ -57,7 +57,7 @@
return mv;
} else {
- mv.addObject("exceptionMsg" , errorResult.getMsg());
+ mv.addObject("exceptionMsg", errorResult.getMsg());
mv.setViewName("/common/common.exception");
return mv;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java
index 797dc90..62dac9d 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java
@@ -44,9 +44,9 @@
public boolean alarm(XxlJobInfo info, XxlJobLog jobLog) {
boolean result = false;
- if (jobAlarmList!=null && jobAlarmList.size()>0) {
+ if (jobAlarmList != null && jobAlarmList.size() > 0) {
result = true; // success means all-success
- for (JobAlarm alarm: jobAlarmList) {
+ for (JobAlarm alarm : jobAlarmList) {
boolean resultItem = false;
try {
resultItem = alarm.doAlarm(info, jobLog);
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java
index e7290d7..6ad1c0b 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java
@@ -32,18 +32,19 @@
*
* @param jobLog
*/
- public boolean doAlarm(XxlJobInfo info, XxlJobLog jobLog){
+ @Override
+ public boolean doAlarm(XxlJobInfo info, XxlJobLog jobLog) {
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().length() > 0) {
// alarmContent
String alarmContent = "Alarm Job LogId=" + jobLog.getId();
if (jobLog.getTriggerCode() != ReturnT.SUCCESS_CODE) {
alarmContent += "<br>TriggerMsg=<br>" + jobLog.getTriggerMsg();
}
- if (jobLog.getHandleCode()>0 && jobLog.getHandleCode() != ReturnT.SUCCESS_CODE) {
+ if (jobLog.getHandleCode() > 0 && jobLog.getHandleCode() != ReturnT.SUCCESS_CODE) {
alarmContent += "<br>HandleCode=" + jobLog.getHandleMsg();
}
@@ -52,13 +53,13 @@
String personal = I18nUtil.getString("admin_name_full");
String title = I18nUtil.getString("jobconf_monitor");
String content = MessageFormat.format(loadEmailJobAlarmTemplate(),
- group!=null?group.getTitle():"null",
- info.getId(),
- info.getJobDesc(),
- alarmContent);
+ group != null ? group.getTitle() : "null",
+ info.getId(),
+ info.getJobDesc(),
+ alarmContent);
Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
- for (String email: emailSet) {
+ for (String email : emailSet) {
// make mail
try {
@@ -88,28 +89,28 @@
*
* @return
*/
- private static final String loadEmailJobAlarmTemplate(){
+ private static final String loadEmailJobAlarmTemplate() {
String mailBodyTemplate = "<h5>" + I18nUtil.getString("jobconf_monitor_detail") + "锛�</span>" +
- "<table border=\"1\" cellpadding=\"3\" style=\"border-collapse:collapse; width:80%;\" >\n" +
- " <thead style=\"font-weight: bold;color: #ffffff;background-color: #ff8c00;\" >" +
- " <tr>\n" +
- " <td width=\"20%\" >"+ I18nUtil.getString("jobinfo_field_jobgroup") +"</td>\n" +
- " <td width=\"10%\" >"+ I18nUtil.getString("jobinfo_field_id") +"</td>\n" +
- " <td width=\"20%\" >"+ I18nUtil.getString("jobinfo_field_jobdesc") +"</td>\n" +
- " <td width=\"10%\" >"+ I18nUtil.getString("jobconf_monitor_alarm_title") +"</td>\n" +
- " <td width=\"40%\" >"+ I18nUtil.getString("jobconf_monitor_alarm_content") +"</td>\n" +
- " </tr>\n" +
- " </thead>\n" +
- " <tbody>\n" +
- " <tr>\n" +
- " <td>{0}</td>\n" +
- " <td>{1}</td>\n" +
- " <td>{2}</td>\n" +
- " <td>"+ I18nUtil.getString("jobconf_monitor_alarm_type") +"</td>\n" +
- " <td>{3}</td>\n" +
- " </tr>\n" +
- " </tbody>\n" +
- "</table>";
+ "<table border=\"1\" cellpadding=\"3\" style=\"border-collapse:collapse; width:80%;\" >\n" +
+ " <thead style=\"font-weight: bold;color: #ffffff;background-color: #ff8c00;\" >" +
+ " <tr>\n" +
+ " <td width=\"20%\" >" + I18nUtil.getString("jobinfo_field_jobgroup") + "</td>\n" +
+ " <td width=\"10%\" >" + I18nUtil.getString("jobinfo_field_id") + "</td>\n" +
+ " <td width=\"20%\" >" + I18nUtil.getString("jobinfo_field_jobdesc") + "</td>\n" +
+ " <td width=\"10%\" >" + I18nUtil.getString("jobconf_monitor_alarm_title") + "</td>\n" +
+ " <td width=\"40%\" >" + I18nUtil.getString("jobconf_monitor_alarm_content") + "</td>\n" +
+ " </tr>\n" +
+ " </thead>\n" +
+ " <tbody>\n" +
+ " <tr>\n" +
+ " <td>{0}</td>\n" +
+ " <td>{1}</td>\n" +
+ " <td>{2}</td>\n" +
+ " <td>" + I18nUtil.getString("jobconf_monitor_alarm_type") + "</td>\n" +
+ " <td>{3}</td>\n" +
+ " </tr>\n" +
+ " </tbody>\n" +
+ "</table>";
return mailBodyTemplate;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java
index b9ac59a..8339933 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java
@@ -32,7 +32,7 @@
// text鏈�澶�64kb 閬垮厤闀垮害杩囬暱
if (xxlJobLog.getHandleMsg().length() > 15000) {
- xxlJobLog.setHandleMsg( xxlJobLog.getHandleMsg().substring(0, 15000) );
+ xxlJobLog.setHandleMsg(xxlJobLog.getHandleMsg().substring(0, 15000));
}
// fresh handle
@@ -43,18 +43,18 @@
/**
* do somethind to finish job
*/
- private static void finishJob(XxlJobLog xxlJobLog){
+ private static void finishJob(XxlJobLog xxlJobLog) {
// 1銆乭andle success, to trigger child job
String triggerChildMsg = null;
- if (XxlJobContext.HANDLE_COCE_SUCCESS == xxlJobLog.getHandleCode()) {
+ if (XxlJobContext.HANDLE_CODE_SUCCESS == xxlJobLog.getHandleCode()) {
XxlJobInfo xxlJobInfo = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().loadById(xxlJobLog.getJobId());
- if (xxlJobInfo!=null && xxlJobInfo.getChildJobId()!=null && xxlJobInfo.getChildJobId().trim().length()>0) {
- triggerChildMsg = "<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_child_run") +"<<<<<<<<<<< </span><br>";
+ if (xxlJobInfo != null && xxlJobInfo.getChildJobId() != null && xxlJobInfo.getChildJobId().trim().length() > 0) {
+ triggerChildMsg = "<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>" + I18nUtil.getString("jobconf_trigger_child_run") + "<<<<<<<<<<< </span><br>";
String[] childJobIds = xxlJobInfo.getChildJobId().split(",");
for (int i = 0; i < childJobIds.length; i++) {
- int childJobId = (childJobIds[i]!=null && childJobIds[i].trim().length()>0 && isNumeric(childJobIds[i]))?Integer.valueOf(childJobIds[i]):-1;
+ int childJobId = (childJobIds[i] != null && childJobIds[i].trim().length() > 0 && isNumeric(childJobIds[i])) ? Integer.valueOf(childJobIds[i]) : -1;
if (childJobId > 0) {
JobTriggerPoolHelper.trigger(childJobId, TriggerTypeEnum.PARENT, -1, null, null, null);
@@ -62,16 +62,16 @@
// 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.getMsg());
+ (i + 1),
+ childJobIds.length,
+ childJobIds[i],
+ (triggerChildResult.getCode() == ReturnT.SUCCESS_CODE ? I18nUtil.getString("system_success") : I18nUtil.getString("system_fail")),
+ triggerChildResult.getMsg());
} else {
triggerChildMsg += MessageFormat.format(I18nUtil.getString("jobconf_callback_child_msg2"),
- (i+1),
- childJobIds.length,
- childJobIds[i]);
+ (i + 1),
+ childJobIds.length,
+ childJobIds[i]);
}
}
@@ -79,7 +79,7 @@
}
if (triggerChildMsg != null) {
- xxlJobLog.setHandleMsg( xxlJobLog.getHandleMsg() + triggerChildMsg );
+ xxlJobLog.setHandleMsg(xxlJobLog.getHandleMsg() + triggerChildMsg);
}
// 2銆乫ix_delay trigger next
@@ -87,7 +87,7 @@
}
- private static boolean isNumeric(String str){
+ private static boolean isNumeric(String str) {
try {
int result = Integer.valueOf(str);
return true;
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
index 380b8a5..6e40cb7 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
@@ -23,6 +23,7 @@
public class XxlJobAdminConfig implements InitializingBean, DisposableBean {
private static XxlJobAdminConfig adminConfig = null;
+
public static XxlJobAdminConfig getAdminConfig() {
return adminConfig;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java
index fce2352..2ce373e 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java
@@ -1,18 +1,18 @@
/*
* All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy
- * of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy
+ * of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package com.xxl.job.admin.core.cron;
@@ -31,14 +31,14 @@
import java.util.TreeSet;
/**
- * Provides a parser and evaluator for unix-like cron expressions. Cron
+ * Provides a parser and evaluator for unix-like cron expressions. Cron
* expressions provide the ability to specify complex time combinations such as
- * "At 8:00am every Monday through Friday" or "At 1:30am every
- * last Friday of the month".
+ * "At 8:00am every Monday through Friday" or "At 1:30am every
+ * last Friday of the month".
* <P>
* Cron expressions are comprised of 6 required fields and one optional field
* separated by white space. The fields respectively are described as follows:
- *
+ *
* <table cellspacing="8">
* <tr>
* <th align="left">Field Name</th>
@@ -98,7 +98,7 @@
* </tr>
* </table>
* <P>
- * The '*' character is used to specify all values. For example, "*"
+ * The '*' character is used to specify all values. For example, "*"
* in the minute field means "every minute".
* <P>
* The '?' character is allowed for the day-of-month and day-of-week fields. It
@@ -113,55 +113,55 @@
* Wednesday, and Friday".
* <P>
* The '/' character is used to specify increments. For example "0/15"
- * in the seconds field means "the seconds 0, 15, 30, and 45". And
+ * in the seconds field means "the seconds 0, 15, 30, and 45". And
* "5/15" in the seconds field means "the seconds 5, 20, 35, and
* 50". Specifying '*' before the '/' is equivalent to specifying 0 is
* the value to start with. Essentially, for each field in the expression, there
- * is a set of numbers that can be turned on or off. For seconds and minutes,
+ * is a set of numbers that can be turned on or off. For seconds and minutes,
* the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to
* 31, and for months 0 to 11 (JAN to DEC). The "/" character simply helps you turn
* on every "nth" value in the given set. Thus "7/6" in the
- * month field only turns on month "7", it does NOT mean every 6th
- * month, please note that subtlety.
+ * month field only turns on month "7", it does NOT mean every 6th
+ * month, please note that subtlety.
* <P>
* The 'L' character is allowed for the day-of-month and day-of-week fields.
- * This character is short-hand for "last", but it has different
- * meaning in each of the two fields. For example, the value "L" in
- * the day-of-month field means "the last day of the month" - day 31
- * for January, day 28 for February on non-leap years. If used in the
- * day-of-week field by itself, it simply means "7" or
+ * This character is short-hand for "last", but it has different
+ * meaning in each of the two fields. For example, the value "L" in
+ * the day-of-month field means "the last day of the month" - day 31
+ * for January, day 28 for February on non-leap years. If used in the
+ * day-of-week field by itself, it simply means "7" or
* "SAT". But if used in the day-of-week field after another value, it
* means "the last xxx day of the month" - for example "6L"
- * means "the last friday of the month". You can also specify an offset
- * from the last day of the month, such as "L-3" which would mean the third-to-last
- * day of the calendar month. <i>When using the 'L' option, it is important not to
+ * means "the last friday of the month". You can also specify an offset
+ * from the last day of the month, such as "L-3" which would mean the third-to-last
+ * day of the calendar month. <i>When using the 'L' option, it is important not to
* specify lists, or ranges of values, as you'll get confusing/unexpected results.</i>
* <P>
- * The 'W' character is allowed for the day-of-month field. This character
- * is used to specify the weekday (Monday-Friday) nearest the given day. As an
- * example, if you were to specify "15W" as the value for the
+ * The 'W' character is allowed for the day-of-month field. This character
+ * is used to specify the weekday (Monday-Friday) nearest the given day. As an
+ * example, if you were to specify "15W" as the value for the
* day-of-month field, the meaning is: "the nearest weekday to the 15th of
- * the month". So if the 15th is a Saturday, the trigger will fire on
+ * the month". So if the 15th is a Saturday, the trigger will fire on
* Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the
- * 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th.
+ * 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th.
* However if you specify "1W" as the value for day-of-month, and the
- * 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not
- * 'jump' over the boundary of a month's days. The 'W' character can only be
+ * 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not
+ * 'jump' over the boundary of a month's days. The 'W' character can only be
* specified when the day-of-month is a single day, not a range or list of days.
* <P>
- * The 'L' and 'W' characters can also be combined for the day-of-month
- * expression to yield 'LW', which translates to "last weekday of the
+ * The 'L' and 'W' characters can also be combined for the day-of-month
+ * expression to yield 'LW', which translates to "last weekday of the
* month".
* <P>
* The '#' character is allowed for the day-of-week field. This character is
- * used to specify "the nth" XXX day of the month. For example, the
- * value of "6#3" in the day-of-week field means the third Friday of
- * the month (day 6 = Friday and "#3" = the 3rd one in the month).
- * Other examples: "2#1" = the first Monday of the month and
+ * used to specify "the nth" XXX day of the month. For example, the
+ * value of "6#3" in the day-of-week field means the third Friday of
+ * the month (day 6 = Friday and "#3" = the 3rd one in the month).
+ * Other examples: "2#1" = the first Monday of the month and
* "4#5" = the fifth Wednesday of the month. Note that if you specify
* "#5" and there is not 5 of the given day-of-week in the month, then
* no firing will occur that month. If the '#' character is used, there can
- * only be one expression in the day-of-week field ("3#1,6#3" is
+ * only be one expression in the day-of-week field ("3#1,6#3" is
* not valid, since there are two expressions).
* <P>
* <!--The 'C' character is allowed for the day-of-month and day-of-week fields.
@@ -174,35 +174,33 @@
* <P>
* The legal characters and the names of months and days of the week are not
* case sensitive.
- *
+ *
* <p>
* <b>NOTES:</b>
* <ul>
* <li>Support for specifying both a day-of-week and a day-of-month value is
* not complete (you'll need to use the '?' character in one of these fields).
* </li>
- * <li>Overflowing ranges is supported - that is, having a larger number on
- * the left hand side than the right. You might do 22-2 to catch 10 o'clock
- * at night until 2 o'clock in the morning, or you might have NOV-FEB. It is
- * very important to note that overuse of overflowing ranges creates ranges
- * that don't make sense and no effort has been made to determine which
- * interpretation CronExpression chooses. An example would be
+ * <li>Overflowing ranges is supported - that is, having a larger number on
+ * the left hand side than the right. You might do 22-2 to catch 10 o'clock
+ * at night until 2 o'clock in the morning, or you might have NOV-FEB. It is
+ * very important to note that overuse of overflowing ranges creates ranges
+ * that don't make sense and no effort has been made to determine which
+ * interpretation CronExpression chooses. An example would be
* "0 0 14-6 ? * FRI-MON". </li>
* </ul>
* </p>
- *
- *
+ *
* @author Sharada Jambula, James House
* @author Contributions from Mads Henderson
* @author Refactoring from CronTrigger to CronExpression by Aaron Craven
- *
+ * <p>
* Borrowed from quartz v2.3.1
- *
*/
public final class CronExpression implements Serializable, Cloneable {
private static final long serialVersionUID = 12423409423L;
-
+
protected static final int SECOND = 0;
protected static final int MINUTE = 1;
protected static final int HOUR = 2;
@@ -214,9 +212,10 @@
protected static final int NO_SPEC_INT = 98; // '?'
protected static final Integer ALL_SPEC = ALL_SPEC_INT;
protected static final Integer NO_SPEC = NO_SPEC_INT;
-
+
protected static final Map<String, Integer> monthMap = new HashMap<String, Integer>(20);
protected static final Map<String, Integer> dayMap = new HashMap<String, Integer>(60);
+
static {
monthMap.put("JAN", 0);
monthMap.put("FEB", 1);
@@ -256,35 +255,33 @@
protected transient boolean nearestWeekday = false;
protected transient int lastdayOffset = 0;
protected transient boolean expressionParsed = false;
-
+
public static final int MAX_YEAR = Calendar.getInstance().get(Calendar.YEAR) + 100;
/**
- * Constructs a new <CODE>CronExpression</CODE> based on the specified
+ * Constructs a new <CODE>CronExpression</CODE> based on the specified
* parameter.
- *
+ *
* @param cronExpression String representation of the cron expression the
* new object should represent
- * @throws java.text.ParseException
- * if the string expression cannot be parsed into a valid
- * <CODE>CronExpression</CODE>
+ * @throws ParseException if the string expression cannot be parsed into a valid
+ * <CODE>CronExpression</CODE>
*/
public CronExpression(String cronExpression) throws ParseException {
if (cronExpression == null) {
throw new IllegalArgumentException("cronExpression cannot be null");
}
-
+
this.cronExpression = cronExpression.toUpperCase(Locale.US);
-
+
buildExpression(this.cronExpression);
}
-
+
/**
* Constructs a new {@code CronExpression} as a copy of an existing
* instance.
- *
- * @param expression
- * The existing cron expression to be copied
+ *
+ * @param expression The existing cron expression to be copied
*/
public CronExpression(CronExpression expression) {
/*
@@ -307,28 +304,28 @@
* Indicates whether the given date satisfies the cron expression. Note that
* milliseconds are ignored, so two Dates falling on different milliseconds
* of the same second will always have the same result here.
- *
+ *
* @param date the date to evaluate
* @return a boolean indicating whether the given date satisfies the cron
- * expression
+ * expression
*/
public boolean isSatisfiedBy(Date date) {
Calendar testDateCal = Calendar.getInstance(getTimeZone());
testDateCal.setTime(date);
testDateCal.set(Calendar.MILLISECOND, 0);
Date originalDate = testDateCal.getTime();
-
+
testDateCal.add(Calendar.SECOND, -1);
-
+
Date timeAfter = getTimeAfter(testDateCal.getTime());
return ((timeAfter != null) && (timeAfter.equals(originalDate)));
}
-
+
/**
* Returns the next date/time <I>after</I> the given date/time which
* satisfies the cron expression.
- *
+ *
* @param date the date/time at which to begin the search for the next valid
* date/time
* @return the next valid date/time
@@ -336,48 +333,48 @@
public Date getNextValidTimeAfter(Date date) {
return getTimeAfter(date);
}
-
+
/**
* Returns the next date/time <I>after</I> the given date/time which does
* <I>not</I> satisfy the expression
- *
- * @param date the date/time at which to begin the search for the next
+ *
+ * @param date the date/time at which to begin the search for the next
* invalid date/time
* @return the next valid date/time
*/
public Date getNextInvalidTimeAfter(Date date) {
long difference = 1000;
-
+
//move back to the nearest second so differences will be accurate
Calendar adjustCal = Calendar.getInstance(getTimeZone());
adjustCal.setTime(date);
adjustCal.set(Calendar.MILLISECOND, 0);
Date lastDate = adjustCal.getTime();
-
+
Date newDate;
-
+
//FUTURE_TODO: (QUARTZ-481) IMPROVE THIS! The following is a BAD solution to this problem. Performance will be very bad here, depending on the cron expression. It is, however A solution.
-
+
//keep getting the next included time until it's farther than one second
// apart. At that point, lastDate is the last valid fire time. We return
// the second immediately following it.
while (difference == 1000) {
newDate = getTimeAfter(lastDate);
- if(newDate == null)
+ if (newDate == null)
break;
-
+
difference = newDate.getTime() - lastDate.getTime();
-
+
if (difference == 1000) {
lastDate = newDate;
}
}
-
+
return new Date(lastDate.getTime() + 1000);
}
-
+
/**
- * Returns the time zone for which this <code>CronExpression</code>
+ * Returns the time zone for which this <code>CronExpression</code>
* will be resolved.
*/
public TimeZone getTimeZone() {
@@ -389,16 +386,16 @@
}
/**
- * Sets the time zone for which this <code>CronExpression</code>
+ * Sets the time zone for which this <code>CronExpression</code>
* will be resolved.
*/
public void setTimeZone(TimeZone timeZone) {
this.timeZone = timeZone;
}
-
+
/**
* Returns the string representation of the <CODE>CronExpression</CODE>
- *
+ *
* @return a string representation of the <CODE>CronExpression</CODE>
*/
@Override
@@ -407,30 +404,30 @@
}
/**
- * Indicates whether the specified cron expression can be parsed into a
+ * Indicates whether the specified cron expression can be parsed into a
* valid cron expression
- *
+ *
* @param cronExpression the expression to evaluate
* @return a boolean indicating whether the given expression is a valid cron
- * expression
+ * expression
*/
public static boolean isValidExpression(String cronExpression) {
-
+
try {
new CronExpression(cronExpression);
} catch (ParseException pe) {
return false;
}
-
+
return true;
}
public static void validateExpression(String cronExpression) throws ParseException {
-
+
new CronExpression(cronExpression);
}
-
-
+
+
////////////////////////////////////////////////////////////////////////////
//
// Expression Parsing Functions
@@ -467,23 +464,23 @@
int exprOn = SECOND;
StringTokenizer exprsTok = new StringTokenizer(expression, " \t",
- false);
+ false);
while (exprsTok.hasMoreTokens() && exprOn <= YEAR) {
String expr = exprsTok.nextToken().trim();
// throw an exception if L is used with other days of the month
- if(exprOn == DAY_OF_MONTH && expr.indexOf('L') != -1 && expr.length() > 1 && expr.contains(",")) {
+ if (exprOn == DAY_OF_MONTH && expr.indexOf('L') != -1 && expr.length() > 1 && expr.contains(",")) {
throw new ParseException("Support for specifying 'L' and 'LW' with other days of the month is not implemented", -1);
}
// throw an exception if L is used with other days of the week
- if(exprOn == DAY_OF_WEEK && expr.indexOf('L') != -1 && expr.length() > 1 && expr.contains(",")) {
+ if (exprOn == DAY_OF_WEEK && expr.indexOf('L') != -1 && expr.length() > 1 && expr.contains(",")) {
throw new ParseException("Support for specifying 'L' with other days of the week is not implemented", -1);
}
- if(exprOn == DAY_OF_WEEK && expr.indexOf('#') != -1 && expr.indexOf('#', expr.indexOf('#') +1) != -1) {
+ if (exprOn == DAY_OF_WEEK && expr.indexOf('#') != -1 && expr.indexOf('#', expr.indexOf('#') + 1) != -1) {
throw new ParseException("Support for specifying multiple \"nth\" days is not implemented.", -1);
}
-
+
StringTokenizer vTok = new StringTokenizer(expr, ",");
while (vTok.hasMoreTokens()) {
String v = vTok.nextToken();
@@ -495,7 +492,7 @@
if (exprOn <= DAY_OF_WEEK) {
throw new ParseException("Unexpected end of expression.",
- expression.length());
+ expression.length());
}
if (exprOn <= YEAR) {
@@ -512,14 +509,14 @@
if (!dayOfMSpec || dayOfWSpec) {
if (!dayOfWSpec || dayOfMSpec) {
throw new ParseException(
- "Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.", 0);
+ "Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.", 0);
}
}
} catch (ParseException pe) {
throw pe;
} catch (Exception e) {
throw new ParseException("Illegal cron expression format ("
- + e.toString() + ")", 0);
+ + e.toString() + ")", 0);
}
}
@@ -556,7 +553,7 @@
sval = getDayOfWeekNumber(sub);
if (sval < 0) {
throw new ParseException("Invalid Day-of-Week value: '"
- + sub + "'", i);
+ + sub + "'", i);
}
if (s.length() > i + 3) {
c = s.charAt(i + 3);
@@ -566,8 +563,8 @@
eval = getDayOfWeekNumber(sub);
if (eval < 0) {
throw new ParseException(
- "Invalid Day-of-Week value: '" + sub
- + "'", i);
+ "Invalid Day-of-Week value: '" + sub
+ + "'", i);
}
} else if (c == '#') {
try {
@@ -578,8 +575,8 @@
}
} catch (Exception e) {
throw new ParseException(
- "A numeric value between 1 and 5 must follow the '#' option",
- i);
+ "A numeric value between 1 and 5 must follow the '#' option",
+ i);
}
} else if (c == 'L') {
lastdayOfWeek = true;
@@ -589,8 +586,8 @@
} else {
throw new ParseException(
- "Illegal characters for this position: '" + sub + "'",
- i);
+ "Illegal characters for this position: '" + sub + "'",
+ i);
}
if (eval != -1) {
incr = 1;
@@ -601,22 +598,22 @@
if (c == '?') {
i++;
- if ((i + 1) < s.length()
- && (s.charAt(i) != ' ' && s.charAt(i + 1) != '\t')) {
+ if ((i + 1) < s.length()
+ && (s.charAt(i) != ' ' && s.charAt(i + 1) != '\t')) {
throw new ParseException("Illegal character after '?': "
- + s.charAt(i), i);
+ + s.charAt(i), i);
}
if (type != DAY_OF_WEEK && type != DAY_OF_MONTH) {
throw new ParseException(
- "'?' can only be specified for Day-of-Month or Day-of-Week.",
- i);
+ "'?' can only be specified for Day-of-Month or Day-of-Week.",
+ i);
}
if (type == DAY_OF_WEEK && !lastdayOfMonth) {
int val = daysOfMonth.last();
if (val == NO_SPEC_INT) {
throw new ParseException(
- "'?' can only be specified for Day-of-Month -OR- Day-of-Week.",
- i);
+ "'?' can only be specified for Day-of-Month -OR- Day-of-Week.",
+ i);
}
}
@@ -629,8 +626,8 @@
addToSet(ALL_SPEC_INT, -1, incr, type);
return i + 1;
} else if (c == '/'
- && ((i + 1) >= s.length() || s.charAt(i + 1) == ' ' || s
- .charAt(i + 1) == '\t')) {
+ && ((i + 1) >= s.length() || s.charAt(i + 1) == ' ' || s
+ .charAt(i + 1) == '\t')) {
throw new ParseException("'/' must be followed by an integer.", i);
} else if (c == '*') {
i++;
@@ -663,18 +660,18 @@
if (type == DAY_OF_WEEK) {
addToSet(7, 7, 0, type);
}
- if(type == DAY_OF_MONTH && s.length() > i) {
+ if (type == DAY_OF_MONTH && s.length() > i) {
c = s.charAt(i);
- if(c == '-') {
- ValueSet vs = getValue(0, s, i+1);
+ if (c == '-') {
+ ValueSet vs = getValue(0, s, i + 1);
lastdayOffset = vs.value;
- if(lastdayOffset > 30)
- throw new ParseException("Offset from last day must be <= 30", i+1);
+ if (lastdayOffset > 30)
+ throw new ParseException("Offset from last day must be <= 30", i + 1);
i = vs.pos;
- }
- if(s.length() > i) {
+ }
+ if (s.length() > i) {
c = s.charAt(i);
- if(c == 'W') {
+ if (c == 'W') {
nearestWeekday = true;
i++;
}
@@ -719,7 +716,7 @@
protected int checkNext(int pos, String s, int val, int type)
throws ParseException {
-
+
int end = -1;
int i = pos;
@@ -732,7 +729,7 @@
if (c == 'L') {
if (type == DAY_OF_WEEK) {
- if(val < 1 || val > 7)
+ if (val < 1 || val > 7)
throw new ParseException("Day-of-Week values must be between 1 and 7", -1);
lastdayOfWeek = true;
} else {
@@ -743,15 +740,15 @@
i++;
return i;
}
-
+
if (c == 'W') {
if (type == DAY_OF_MONTH) {
nearestWeekday = true;
} else {
throw new ParseException("'W' option is not valid here. (pos=" + i + ")", i);
}
- if(val > 31)
- throw new ParseException("The 'W' option does not make sense with values larger than 31 (max number of days in a month)", i);
+ if (val > 31)
+ throw new ParseException("The 'W' option does not make sense with values larger than 31 (max number of days in a month)", i);
TreeSet<Integer> set = getSet(type);
set.add(val);
i++;
@@ -770,8 +767,8 @@
}
} catch (Exception e) {
throw new ParseException(
- "A numeric value between 1 and 5 must follow the '#' option",
- i);
+ "A numeric value between 1 and 5 must follow the '#' option",
+ i);
}
TreeSet<Integer> set = getSet(type);
@@ -857,7 +854,7 @@
public String getCronExpression() {
return cronExpression;
}
-
+
public String getExpressionSummary() {
StringBuilder buf = new StringBuilder();
@@ -966,36 +963,36 @@
protected void addToSet(int val, int end, int incr, int type)
throws ParseException {
-
+
TreeSet<Integer> set = getSet(type);
if (type == SECOND || type == MINUTE) {
if ((val < 0 || val > 59 || end > 59) && (val != ALL_SPEC_INT)) {
throw new ParseException(
- "Minute and Second values must be between 0 and 59",
- -1);
+ "Minute and Second values must be between 0 and 59",
+ -1);
}
} else if (type == HOUR) {
if ((val < 0 || val > 23 || end > 23) && (val != ALL_SPEC_INT)) {
throw new ParseException(
- "Hour values must be between 0 and 23", -1);
+ "Hour values must be between 0 and 23", -1);
}
} else if (type == DAY_OF_MONTH) {
- if ((val < 1 || val > 31 || end > 31) && (val != ALL_SPEC_INT)
- && (val != NO_SPEC_INT)) {
+ if ((val < 1 || val > 31 || end > 31) && (val != ALL_SPEC_INT)
+ && (val != NO_SPEC_INT)) {
throw new ParseException(
- "Day of month values must be between 1 and 31", -1);
+ "Day of month values must be between 1 and 31", -1);
}
} else if (type == MONTH) {
if ((val < 1 || val > 12 || end > 12) && (val != ALL_SPEC_INT)) {
throw new ParseException(
- "Month values must be between 1 and 12", -1);
+ "Month values must be between 1 and 12", -1);
}
} else if (type == DAY_OF_WEEK) {
if ((val == 0 || val > 7 || end > 7) && (val != ALL_SPEC_INT)
- && (val != NO_SPEC_INT)) {
+ && (val != NO_SPEC_INT)) {
throw new ParseException(
- "Day-of-Week values must be between 1 and 7", -1);
+ "Day-of-Week values must be between 1 and 7", -1);
}
}
@@ -1005,7 +1002,7 @@
} else {
set.add(NO_SPEC);
}
-
+
return;
}
@@ -1061,20 +1058,34 @@
}
}
- // if the end of the range is before the start, then we need to overflow into
- // the next day, month etc. This is done by adding the maximum amount for that
+ // if the end of the range is before the start, then we need to overflow into
+ // the next day, month etc. This is done by adding the maximum amount for that
// type, and using modulus max to determine the value being added.
int max = -1;
if (stopAt < startAt) {
switch (type) {
- case SECOND : max = 60; break;
- case MINUTE : max = 60; break;
- case HOUR : max = 24; break;
- case MONTH : max = 12; break;
- case DAY_OF_WEEK : max = 7; break;
- case DAY_OF_MONTH : max = 31; break;
- case YEAR : throw new IllegalArgumentException("Start year must be less than stop year");
- default : throw new IllegalArgumentException("Unexpected type encountered");
+ case SECOND:
+ max = 60;
+ break;
+ case MINUTE:
+ max = 60;
+ break;
+ case HOUR:
+ max = 24;
+ break;
+ case MONTH:
+ max = 12;
+ break;
+ case DAY_OF_WEEK:
+ max = 7;
+ break;
+ case DAY_OF_MONTH:
+ max = 31;
+ break;
+ case YEAR:
+ throw new IllegalArgumentException("Start year must be less than stop year");
+ default:
+ throw new IllegalArgumentException("Unexpected type encountered");
}
stopAt += max;
}
@@ -1088,7 +1099,7 @@
int i2 = i % max;
// 1-indexed ranges should not include 0, and should include their max
- if (i2 == 0 && (type == MONTH || type == DAY_OF_WEEK || type == DAY_OF_MONTH) ) {
+ if (i2 == 0 && (type == MONTH || type == DAY_OF_WEEK || type == DAY_OF_MONTH)) {
i2 = max;
}
@@ -1130,7 +1141,7 @@
c = s.charAt(i);
}
ValueSet val = new ValueSet();
-
+
val.pos = (i < s.length()) ? i : i + 1;
val.value = Integer.parseInt(s1.toString());
return val;
@@ -1171,7 +1182,7 @@
public Date getTimeAfter(Date afterTime) {
// Computation is based on Gregorian year only.
- Calendar cl = new java.util.GregorianCalendar(getTimeZone());
+ Calendar cl = new java.util.GregorianCalendar(getTimeZone());
// move ahead one second, since we're computing the time *after* the
// given time
@@ -1185,7 +1196,7 @@
while (!gotOne) {
//if (endTime != null && cl.getTime().after(endTime)) return null;
- if(cl.get(Calendar.YEAR) > 2999) { // prevent endless loop...
+ if (cl.get(Calendar.YEAR) > 2999) { // prevent endless loop...
return null;
}
@@ -1255,20 +1266,20 @@
// 1-based
t = -1;
int tmon = mon;
-
+
// get day...................................................
boolean dayOfMSpec = !daysOfMonth.contains(NO_SPEC);
boolean dayOfWSpec = !daysOfWeek.contains(NO_SPEC);
if (dayOfMSpec && !dayOfWSpec) { // get day by day of month rule
st = daysOfMonth.tailSet(day);
if (lastdayOfMonth) {
- if(!nearestWeekday) {
+ if (!nearestWeekday) {
t = day;
day = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
day -= lastdayOffset;
- if(t > day) {
+ if (t > day) {
mon++;
- if(mon > 12) {
+ if (mon > 12) {
mon = 1;
tmon = 3333; // ensure test of mon != tmon further below fails
cl.add(Calendar.YEAR, 1);
@@ -1279,72 +1290,72 @@
t = day;
day = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
day -= lastdayOffset;
-
- java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone());
+
+ Calendar tcal = Calendar.getInstance(getTimeZone());
tcal.set(Calendar.SECOND, 0);
tcal.set(Calendar.MINUTE, 0);
tcal.set(Calendar.HOUR_OF_DAY, 0);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
tcal.set(Calendar.YEAR, cl.get(Calendar.YEAR));
-
+
int ldom = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
int dow = tcal.get(Calendar.DAY_OF_WEEK);
- if(dow == Calendar.SATURDAY && day == 1) {
+ if (dow == Calendar.SATURDAY && day == 1) {
day += 2;
- } else if(dow == Calendar.SATURDAY) {
+ } else if (dow == Calendar.SATURDAY) {
day -= 1;
- } else if(dow == Calendar.SUNDAY && day == ldom) {
+ } else if (dow == Calendar.SUNDAY && day == ldom) {
day -= 2;
- } else if(dow == Calendar.SUNDAY) {
+ } else if (dow == Calendar.SUNDAY) {
day += 1;
}
-
+
tcal.set(Calendar.SECOND, sec);
tcal.set(Calendar.MINUTE, min);
tcal.set(Calendar.HOUR_OF_DAY, hr);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
Date nTime = tcal.getTime();
- if(nTime.before(afterTime)) {
+ if (nTime.before(afterTime)) {
day = 1;
mon++;
}
}
- } else if(nearestWeekday) {
+ } else if (nearestWeekday) {
t = day;
day = daysOfMonth.first();
- java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone());
+ Calendar tcal = Calendar.getInstance(getTimeZone());
tcal.set(Calendar.SECOND, 0);
tcal.set(Calendar.MINUTE, 0);
tcal.set(Calendar.HOUR_OF_DAY, 0);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
tcal.set(Calendar.YEAR, cl.get(Calendar.YEAR));
-
+
int ldom = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
int dow = tcal.get(Calendar.DAY_OF_WEEK);
- if(dow == Calendar.SATURDAY && day == 1) {
+ if (dow == Calendar.SATURDAY && day == 1) {
day += 2;
- } else if(dow == Calendar.SATURDAY) {
+ } else if (dow == Calendar.SATURDAY) {
day -= 1;
- } else if(dow == Calendar.SUNDAY && day == ldom) {
+ } else if (dow == Calendar.SUNDAY && day == ldom) {
day -= 2;
- } else if(dow == Calendar.SUNDAY) {
+ } else if (dow == Calendar.SUNDAY) {
day += 1;
}
-
-
+
+
tcal.set(Calendar.SECOND, sec);
tcal.set(Calendar.MINUTE, min);
tcal.set(Calendar.HOUR_OF_DAY, hr);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
Date nTime = tcal.getTime();
- if(nTime.before(afterTime)) {
+ if (nTime.before(afterTime)) {
day = daysOfMonth.first();
mon++;
}
@@ -1361,7 +1372,7 @@
day = daysOfMonth.first();
mon++;
}
-
+
if (day != t || mon != tmon) {
cl.set(Calendar.SECOND, 0);
cl.set(Calendar.MINUTE, 0);
@@ -1442,8 +1453,8 @@
daysToAdd = (nthdayOfWeek - weekOfMonth) * 7;
day += daysToAdd;
if (daysToAdd < 0
- || day > getLastDayOfMonth(mon, cl
- .get(Calendar.YEAR))) {
+ || day > getLastDayOfMonth(mon, cl
+ .get(Calendar.YEAR))) {
cl.set(Calendar.SECOND, 0);
cl.set(Calendar.MINUTE, 0);
cl.set(Calendar.HOUR_OF_DAY, 0);
@@ -1501,7 +1512,7 @@
}
} else { // dayOfWSpec && !dayOfMSpec
throw new UnsupportedOperationException(
- "Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.");
+ "Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.");
}
cl.set(Calendar.DAY_OF_MONTH, day);
@@ -1575,35 +1586,35 @@
/**
* Advance the calendar to the particular hour paying particular attention
* to daylight saving problems.
- *
- * @param cal the calendar to operate on
+ *
+ * @param cal the calendar to operate on
* @param hour the hour to set
*/
protected void setCalendarHour(Calendar cal, int hour) {
- cal.set(java.util.Calendar.HOUR_OF_DAY, hour);
- if (cal.get(java.util.Calendar.HOUR_OF_DAY) != hour && hour != 24) {
- cal.set(java.util.Calendar.HOUR_OF_DAY, hour + 1);
+ cal.set(Calendar.HOUR_OF_DAY, hour);
+ if (cal.get(Calendar.HOUR_OF_DAY) != hour && hour != 24) {
+ cal.set(Calendar.HOUR_OF_DAY, hour + 1);
}
}
/**
* NOT YET IMPLEMENTED: Returns the time before the given time
* that the <code>CronExpression</code> matches.
- */
- public Date getTimeBefore(Date endTime) {
+ */
+ public Date getTimeBefore(Date endTime) {
// FUTURE_TODO: implement QUARTZ-423
return null;
}
/**
- * NOT YET IMPLEMENTED: Returns the final time that the
+ * NOT YET IMPLEMENTED: Returns the final time that the
* <code>CronExpression</code> will match.
*/
public Date getFinalFireTime() {
// FUTURE_TODO: implement QUARTZ-423
return null;
}
-
+
protected boolean isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
}
@@ -1637,21 +1648,21 @@
return 31;
default:
throw new IllegalArgumentException("Illegal month number: "
- + monthNum);
+ + monthNum);
}
}
-
+
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException, ClassNotFoundException {
-
+
stream.defaultReadObject();
try {
buildExpression(cronExpression);
} catch (Exception ignore) {
} // never happens
- }
-
+ }
+
@Override
@Deprecated
public Object clone() {
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java
index faa6063..4424277 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/exception/XxlJobException.java
@@ -7,6 +7,7 @@
public XxlJobException() {
}
+
public XxlJobException(String message) {
super(message);
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java
index dde4b39..3a9952a 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java
@@ -19,8 +19,9 @@
// registry list
private List<String> registryList; // 鎵ц鍣ㄥ湴鍧�鍒楄〃(绯荤粺娉ㄥ唽)
+
public List<String> getRegistryList() {
- if (addressList!=null && addressList.trim().length()>0) {
+ if (addressList != null && addressList.trim().length() > 0) {
registryList = new ArrayList<String>(Arrays.asList(addressList.split(",")));
}
return registryList;
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
index d3d2914..ee4b02c 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
@@ -31,7 +31,7 @@
private int executorTimeout; // 浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇
private int executorFailRetryCount; // 澶辫触閲嶈瘯娆℃暟
- private String glueType; // GLUE绫诲瀷 #com.xxl.job.core.glue.GlueTypeEnum
+ private String glueType; // GLUE绫诲瀷 #com.xxl.job.core.glue.GlueTypeEnum
private String glueSource; // GLUE婧愪唬鐮�
private String glueRemark; // GLUE澶囨敞
private Date glueUpdatetime; // GLUE鏇存柊鏃堕棿
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java
index b2dd151..5d1f2a0 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java
@@ -1,4 +1,4 @@
-//package com.xxl.job.admin.core.jobbean;
+package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.jobbean;
//
//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
//import com.xxl.job.admin.core.trigger.TriggerTypeEnum;
@@ -29,4 +29,4 @@
//
// }
//
-//}
\ No newline at end of file
+//}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java
index 1e62aa1..5ae81bd 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java
@@ -1,4 +1,4 @@
-//package com.xxl.job.admin.core.schedule;
+package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.schedule;
//
//import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
//import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean;
@@ -410,4 +410,4 @@
// return jobList;
// }*/
//
-//}
\ No newline at end of file
+//}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java
index ad07430..74f3f9d 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java
@@ -1,4 +1,4 @@
-//package com.xxl.job.admin.core.quartz;
+package com.xxl.job.admin.core.old;//package com.xxl.job.admin.core.quartz;
//
//import org.quartz.SchedulerConfigException;
//import org.quartz.spi.ThreadPool;
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java
index 7fff93a..1903b93 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java
@@ -30,13 +30,14 @@
public String getTitle() {
return title;
}
+
public ExecutorRouter getRouter() {
return router;
}
- public static ExecutorRouteStrategyEnum match(String name, ExecutorRouteStrategyEnum defaultItem){
+ public static ExecutorRouteStrategyEnum match(String name, ExecutorRouteStrategyEnum defaultItem) {
if (name != null) {
- for (ExecutorRouteStrategyEnum item: ExecutorRouteStrategyEnum.values()) {
+ for (ExecutorRouteStrategyEnum item : ExecutorRouteStrategyEnum.values()) {
if (item.name().equals(name)) {
return item;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
index 5de9a1d..7ca0d46 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
@@ -17,7 +17,7 @@
* route address
*
* @param addressList
- * @return ReturnT.content=address
+ * @return ReturnT.content=address
*/
public abstract ReturnT<String> route(TriggerParam triggerParam, List<String> addressList);
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
index 868560f..a36fb4c 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
@@ -26,13 +26,13 @@
idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId()));
} catch (Exception e) {
logger.error(e.getMessage(), e);
- idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
+ idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, "" + e);
}
- idleBeatResultSB.append( (idleBeatResultSB.length()>0)?"<br><br>":"")
- .append(I18nUtil.getString("jobconf_idleBeat") + "锛�")
- .append("<br>address锛�").append(address)
- .append("<br>code锛�").append(idleBeatResult.getCode())
- .append("<br>msg锛�").append(idleBeatResult.getMsg());
+ idleBeatResultSB.append((idleBeatResultSB.length() > 0) ? "<br><br>" : "")
+ .append(I18nUtil.getString("jobconf_idleBeat") + "锛�")
+ .append("<br>address锛�").append(address)
+ .append("<br>code锛�").append(idleBeatResult.getCode())
+ .append("<br>msg锛�").append(idleBeatResult.getMsg());
// beat success
if (idleBeatResult.getCode() == ReturnT.SUCCESS_CODE) {
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
index 41ac671..abd4724 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
@@ -13,8 +13,8 @@
/**
* 鍒嗙粍涓嬫満鍣ㄥ湴鍧�鐩稿悓锛屼笉鍚孞OB鍧囧寑鏁e垪鍦ㄤ笉鍚屾満鍣ㄤ笂锛屼繚璇佸垎缁勪笅鏈哄櫒鍒嗛厤JOB骞冲潎锛涗笖姣忎釜JOB鍥哄畾璋冨害鍏朵腑涓�鍙版満鍣紱
- * a銆乿irtual node锛氳В鍐充笉鍧囪 闂
- * b銆乭ash method replace hashCode锛歋tring鐨刪ashCode鍙兘閲嶅锛岄渶瑕佽繘涓�姝ユ墿澶ashCode鐨勫彇鍊艰寖鍥�
+ * a銆乿irtual node锛氳В鍐充笉鍧囪 闂
+ * b銆乭ash method replace hashCode锛歋tring鐨刪ashCode鍙兘閲嶅锛岄渶瑕佽繘涓�姝ユ墿澶ashCode鐨勫彇鍊艰寖鍥�
* Created by xuxueli on 17/3/10.
*/
public class ExecutorRouteConsistentHash extends ExecutorRouter {
@@ -23,6 +23,7 @@
/**
* get hash code on 2^32 ring (md5鏁e垪鐨勬柟寮忚绠梙ash鍊�)
+ *
* @param key
* @return
*/
@@ -48,9 +49,9 @@
// hash code, Truncate to 32-bits
long hashCode = ((long) (digest[3] & 0xFF) << 24)
- | ((long) (digest[2] & 0xFF) << 16)
- | ((long) (digest[1] & 0xFF) << 8)
- | (digest[0] & 0xFF);
+ | ((long) (digest[2] & 0xFF) << 16)
+ | ((long) (digest[1] & 0xFF) << 8)
+ | (digest[0] & 0xFF);
long truncateHashCode = hashCode & 0xffffffffL;
return truncateHashCode;
@@ -61,7 +62,7 @@
// ------A1------A2-------A3------
// -----------J1------------------
TreeMap<Long, String> addressRing = new TreeMap<Long, String>();
- for (String address: addressList) {
+ for (String address : addressList) {
for (int i = 0; i < VIRTUAL_NODE_NUM; i++) {
long addressHash = hash("SHARD-" + address + "-NODE-" + i);
addressRing.put(addressHash, address);
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
index a2e4c90..a889fad 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
@@ -26,13 +26,13 @@
beatResult = executorBiz.beat();
} catch (Exception e) {
logger.error(e.getMessage(), e);
- beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
+ beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, "" + e);
}
- beatResultSB.append( (beatResultSB.length()>0)?"<br><br>":"")
- .append(I18nUtil.getString("jobconf_beat") + "锛�")
- .append("<br>address锛�").append(address)
- .append("<br>code锛�").append(beatResult.getCode())
- .append("<br>msg锛�").append(beatResult.getMsg());
+ beatResultSB.append((beatResultSB.length() > 0) ? "<br><br>" : "")
+ .append(I18nUtil.getString("jobconf_beat") + "锛�")
+ .append("<br>address锛�").append(address)
+ .append("<br>code锛�").append(beatResult.getCode())
+ .append("<br>msg锛�").append(beatResult.getMsg());
// beat success
if (beatResult.getCode() == ReturnT.SUCCESS_CODE) {
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
index de4d7af..a0fe0c7 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
@@ -12,7 +12,7 @@
public class ExecutorRouteFirst extends ExecutorRouter {
@Override
- public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList){
+ public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
return new ReturnT<String>(addressList.get(0));
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
index 9df1972..5eadf98 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
@@ -10,9 +10,9 @@
/**
* 鍗曚釜JOB瀵瑰簲鐨勬瘡涓墽琛屽櫒锛屼娇鐢ㄩ鐜囨渶浣庣殑浼樺厛琚�変妇
- * a(*)銆丩FU(Least Frequently Used)锛氭渶涓嶇粡甯镐娇鐢紝棰戠巼/娆℃暟
- * b銆丩RU(Least Recently Used)锛氭渶杩戞渶涔呮湭浣跨敤锛屾椂闂�
- *
+ * a(*)銆丩FU(Least Frequently Used)锛氭渶涓嶇粡甯镐娇鐢紝棰戠巼/娆℃暟
+ * b銆丩RU(Least Recently Used)锛氭渶杩戞渶涔呮湭浣跨敤锛屾椂闂�
+ * <p>
* Created by xuxueli on 17/3/10.
*/
public class ExecutorRouteLFU extends ExecutorRouter {
@@ -25,7 +25,7 @@
// cache clear
if (System.currentTimeMillis() > CACHE_VALID_TIME) {
jobLfuMap.clear();
- CACHE_VALID_TIME = System.currentTimeMillis() + 1000*60*60*24;
+ CACHE_VALID_TIME = System.currentTimeMillis() + 1000 * 60 * 60 * 24;
}
// lfu item init
@@ -36,20 +36,20 @@
}
// put new
- for (String address: addressList) {
- if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) >1000000 ) {
+ for (String address : addressList) {
+ if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) > 1000000) {
lfuItemMap.put(address, new Random().nextInt(addressList.size())); // 鍒濆鍖栨椂涓诲姩Random涓�娆★紝缂撹В棣栨鍘嬪姏
}
}
// remove old
List<String> delKeys = new ArrayList<>();
- for (String existKey: lfuItemMap.keySet()) {
+ for (String existKey : lfuItemMap.keySet()) {
if (!addressList.contains(existKey)) {
delKeys.add(existKey);
}
}
if (delKeys.size() > 0) {
- for (String delKey: delKeys) {
+ for (String delKey : delKeys) {
lfuItemMap.remove(delKey);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
index 2d54006..02c9424 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
@@ -12,9 +12,9 @@
/**
* 鍗曚釜JOB瀵瑰簲鐨勬瘡涓墽琛屽櫒锛屾渶涔呬负浣跨敤鐨勪紭鍏堣閫変妇
- * a銆丩FU(Least Frequently Used)锛氭渶涓嶇粡甯镐娇鐢紝棰戠巼/娆℃暟
- * b(*)銆丩RU(Least Recently Used)锛氭渶杩戞渶涔呮湭浣跨敤锛屾椂闂�
- *
+ * a銆丩FU(Least Frequently Used)锛氭渶涓嶇粡甯镐娇鐢紝棰戠巼/娆℃暟
+ * b(*)銆丩RU(Least Recently Used)锛氭渶杩戞渶涔呮湭浣跨敤锛屾椂闂�
+ * <p>
* Created by xuxueli on 17/3/10.
*/
public class ExecutorRouteLRU extends ExecutorRouter {
@@ -27,7 +27,7 @@
// cache clear
if (System.currentTimeMillis() > CACHE_VALID_TIME) {
jobLRUMap.clear();
- CACHE_VALID_TIME = System.currentTimeMillis() + 1000*60*60*24;
+ CACHE_VALID_TIME = System.currentTimeMillis() + 1000 * 60 * 60 * 24;
}
// init lru
@@ -43,20 +43,20 @@
}
// put new
- for (String address: addressList) {
+ for (String address : addressList) {
if (!lruItem.containsKey(address)) {
lruItem.put(address, address);
}
}
// remove old
List<String> delKeys = new ArrayList<>();
- for (String existKey: lruItem.keySet()) {
+ for (String existKey : lruItem.keySet()) {
if (!addressList.contains(existKey)) {
delKeys.add(existKey);
}
}
if (delKeys.size() > 0) {
- for (String delKey: delKeys) {
+ for (String delKey : delKeys) {
lruItem.remove(delKey);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
index 4ff3cf6..d96059d 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
@@ -13,7 +13,7 @@
@Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
- return new ReturnT<String>(addressList.get(addressList.size()-1));
+ return new ReturnT<String>(addressList.get(addressList.size() - 1));
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
index d0ea2ba..dfea0ef 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
@@ -22,7 +22,7 @@
// cache clear
if (System.currentTimeMillis() > CACHE_VALID_TIME) {
routeCountEachJob.clear();
- CACHE_VALID_TIME = System.currentTimeMillis() + 1000*60*60*24;
+ CACHE_VALID_TIME = System.currentTimeMillis() + 1000 * 60 * 60 * 24;
}
AtomicInteger count = routeCountEachJob.get(jobId);
@@ -39,7 +39,7 @@
@Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
- String address = addressList.get(count(triggerParam.getJobId())%addressList.size());
+ String address = addressList.get(count(triggerParam.getJobId()) % addressList.size());
return new ReturnT<String>(address);
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java
index 0b9b4a9..6abc5d5 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java
@@ -27,8 +27,8 @@
return title;
}
- public static MisfireStrategyEnum match(String name, MisfireStrategyEnum defaultItem){
- for (MisfireStrategyEnum item: MisfireStrategyEnum.values()) {
+ public static MisfireStrategyEnum match(String name, MisfireStrategyEnum defaultItem) {
+ for (MisfireStrategyEnum item : MisfireStrategyEnum.values()) {
if (item.name().equals(name)) {
return item;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java
index aa334fd..f01d1fb 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java
@@ -34,8 +34,8 @@
return title;
}
- public static ScheduleTypeEnum match(String name, ScheduleTypeEnum defaultItem){
- for (ScheduleTypeEnum item: ScheduleTypeEnum.values()) {
+ public static ScheduleTypeEnum match(String name, ScheduleTypeEnum defaultItem) {
+ for (ScheduleTypeEnum item : ScheduleTypeEnum.values()) {
if (item.name().equals(name)) {
return item;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java
index bb2cda8..26dba69 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java
@@ -16,7 +16,7 @@
* @author xuxueli 2018-10-28 00:18:17
*/
-public class XxlJobScheduler {
+public class XxlJobScheduler {
private static final Logger logger = LoggerFactory.getLogger(XxlJobScheduler.class);
@@ -45,7 +45,7 @@
logger.info(">>>>>>>>> init xxl-job admin success.");
}
-
+
public void destroy() throws Exception {
// stop-schedule
@@ -70,17 +70,18 @@
// ---------------------- I18n ----------------------
- private void initI18n(){
- for (ExecutorBlockStrategyEnum item:ExecutorBlockStrategyEnum.values()) {
+ private void initI18n() {
+ for (ExecutorBlockStrategyEnum item : ExecutorBlockStrategyEnum.values()) {
item.setTitle(I18nUtil.getString("jobconf_block_".concat(item.name())));
}
}
// ---------------------- executor-client ----------------------
private static ConcurrentMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
+
public static ExecutorBiz getExecutorBiz(String address) throws Exception {
// valid
- if (address==null || address.trim().length()==0) {
+ if (address == null || address.trim().length() == 0) {
return null;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java
index 95542fd..37b9bf8 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java
@@ -96,7 +96,7 @@
}
} catch (Exception e) {
if (!toStop) {
- logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}" , e);
+ logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
}
}
@@ -144,7 +144,7 @@
public void run() {
for (HandleCallbackParam handleCallbackParam : callbackParamList) {
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);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java
index 82c315d..dfebc87 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java
@@ -62,7 +62,7 @@
// 2銆乫ail alarm monitor
int newAlarmStatus = 0; // 鍛婅鐘舵�侊細0-榛樿銆�-1=閿佸畾鐘舵�併��1-鏃犻渶鍛婅銆�2-鍛婅鎴愬姛銆�3-鍛婅澶辫触
- if (info != null && info.getAlarmEmail() != null && info.getAlarmEmail().trim().length() > 0) {
+ if (info != null) {
boolean alarmResult = XxlJobAdminConfig.getAdminConfig().getJobAlarmer().alarm(info, log);
newAlarmStatus = alarmResult ? 2 : 3;
} else {
@@ -75,7 +75,7 @@
} catch (Exception e) {
if (!toStop) {
- logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}" , e);
+ logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
index 2387a0c..942f752 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
@@ -20,14 +20,16 @@
private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
private static JobLogReportHelper instance = new JobLogReportHelper();
- public static JobLogReportHelper getInstance(){
+
+ public static JobLogReportHelper getInstance() {
return instance;
}
private Thread logrThread;
private volatile boolean toStop = false;
- public void start(){
+
+ public void start() {
logrThread = new Thread(new Runnable() {
@Override
@@ -69,10 +71,10 @@
xxlJobLogReport.setFailCount(0);
Map<String, Object> triggerCountMap = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findLogReport(todayFrom, todayTo);
- if (triggerCountMap!=null && triggerCountMap.size()>0) {
- int triggerDayCount = triggerCountMap.containsKey("triggerDayCount")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))):0;
- int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountRunning"))):0;
- int triggerDayCountSuc = triggerCountMap.containsKey("triggerDayCountSuc")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountSuc"))):0;
+ if (triggerCountMap != null && triggerCountMap.size() > 0) {
+ int triggerDayCount = triggerCountMap.containsKey("triggerDayCount") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))) : 0;
+ int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountRunning"))) : 0;
+ int triggerDayCountSuc = triggerCountMap.containsKey("triggerDayCountSuc") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountSuc"))) : 0;
int triggerDayCountFail = triggerDayCount - triggerDayCountRunning - triggerDayCountSuc;
xxlJobLogReport.setRunningCount(triggerDayCountRunning);
@@ -94,8 +96,8 @@
}
// 2銆乴og-clean: switch open & once each day
- if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays()>0
- && System.currentTimeMillis() - lastCleanLogTime > 24*60*60*1000) {
+ if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays() > 0
+ && System.currentTimeMillis() - lastCleanLogTime > 24 * 60 * 60 * 1000) {
// expire-time
Calendar expiredDay = Calendar.getInstance();
@@ -110,10 +112,10 @@
List<Long> logIds = null;
do {
logIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findClearLogIds(0, 0, clearBeforeTime, 0, 1000);
- if (logIds!=null && logIds.size()>0) {
+ if (logIds != null && logIds.size() > 0) {
XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().clearLog(logIds);
}
- } while (logIds!=null && logIds.size()>0);
+ } while (logIds != null && logIds.size() > 0);
// update clean time
lastCleanLogTime = System.currentTimeMillis();
@@ -138,7 +140,7 @@
logrThread.start();
}
- public void toStop(){
+ public void toStop() {
toStop = true;
// interrupt and wait
logrThread.interrupt();
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java
index a73fd7c..681b684 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java
@@ -111,14 +111,14 @@
}
} catch (Exception e) {
if (!toStop) {
- logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}" , e);
+ logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}", e);
}
}
try {
TimeUnit.SECONDS.sleep(RegistryConfig.BEAT_TIMEOUT);
} catch (InterruptedException e) {
if (!toStop) {
- logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}" , e);
+ logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}", e);
}
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
index 831bcf6..69ffdb3 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
@@ -23,7 +23,8 @@
private static Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class);
private static JobScheduleHelper instance = new JobScheduleHelper();
- public static JobScheduleHelper getInstance(){
+
+ public static JobScheduleHelper getInstance() {
return instance;
}
@@ -35,7 +36,7 @@
private volatile boolean ringThreadToStop = false;
private volatile static Map<Integer, List<Integer>> ringData = new ConcurrentHashMap<>();
- public void start(){
+ public void start() {
// schedule thread
scheduleThread = new Thread(new Runnable() {
@@ -43,7 +44,7 @@
public void run() {
try {
- TimeUnit.MILLISECONDS.sleep(5000 - System.currentTimeMillis()%1000 );
+ TimeUnit.MILLISECONDS.sleep(5000 - System.currentTimeMillis() % 1000);
} catch (InterruptedException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
@@ -70,7 +71,7 @@
connAutoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
- preparedStatement = conn.prepareStatement( "select * from xxl_job_lock where lock_name = 'schedule_lock' for update" );
+ preparedStatement = conn.prepareStatement("select * from xxl_job_lock where lock_name = 'schedule_lock' for update");
preparedStatement.execute();
// tx start
@@ -78,9 +79,9 @@
// 1銆乸re read
long nowTime = System.currentTimeMillis();
List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(nowTime + PRE_READ_MS, preReadCount);
- if (scheduleList!=null && scheduleList.size()>0) {
+ if (scheduleList != null && scheduleList.size() > 0) {
// 2銆乸ush time-ring
- for (XxlJobInfo jobInfo: scheduleList) {
+ for (XxlJobInfo jobInfo : scheduleList) {
// time-ring jump
if (nowTime > jobInfo.getTriggerNextTime() + PRE_READ_MS) {
@@ -92,7 +93,7 @@
if (MisfireStrategyEnum.FIRE_ONCE_NOW == misfireStrategyEnum) {
// FIRE_ONCE_NOW 銆� trigger
JobTriggerPoolHelper.trigger(jobInfo.getId(), TriggerTypeEnum.MISFIRE, -1, null, null, null);
- logger.debug(">>>>>>>>>>> xxl-job, schedule push trigger : jobId = " + jobInfo.getId() );
+ logger.debug(">>>>>>>>>>> xxl-job, schedule push trigger : jobId = " + jobInfo.getId());
}
// 2銆乫resh next
@@ -103,16 +104,16 @@
// 1銆乼rigger
JobTriggerPoolHelper.trigger(jobInfo.getId(), TriggerTypeEnum.CRON, -1, null, null, null);
- logger.debug(">>>>>>>>>>> xxl-job, schedule push trigger : jobId = " + jobInfo.getId() );
+ logger.debug(">>>>>>>>>>> xxl-job, schedule push trigger : jobId = " + jobInfo.getId());
// 2銆乫resh next
refreshNextValidTime(jobInfo, new Date());
// next-trigger-time in 5s, pre-read again
- if (jobInfo.getTriggerStatus()==1 && nowTime + PRE_READ_MS > jobInfo.getTriggerNextTime()) {
+ if (jobInfo.getTriggerStatus() == 1 && nowTime + PRE_READ_MS > jobInfo.getTriggerNextTime()) {
// 1銆乵ake ring second
- int ringSecond = (int)((jobInfo.getTriggerNextTime()/1000)%60);
+ int ringSecond = (int) ((jobInfo.getTriggerNextTime() / 1000) % 60);
// 2銆乸ush time ring
pushTimeRing(ringSecond, jobInfo.getId());
@@ -126,7 +127,7 @@
// 2.3銆乼rigger-pre-read锛歵ime-ring trigger && make next-trigger-time
// 1銆乵ake ring second
- int ringSecond = (int)((jobInfo.getTriggerNextTime()/1000)%60);
+ int ringSecond = (int) ((jobInfo.getTriggerNextTime() / 1000) % 60);
// 2銆乸ush time ring
pushTimeRing(ringSecond, jobInfo.getId());
@@ -139,7 +140,7 @@
}
// 3銆乽pdate trigger info
- for (XxlJobInfo jobInfo: scheduleList) {
+ for (XxlJobInfo jobInfo : scheduleList) {
XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleUpdate(jobInfo);
}
@@ -192,14 +193,14 @@
}
}
}
- long cost = System.currentTimeMillis()-start;
+ long cost = System.currentTimeMillis() - start;
// Wait seconds, align second
if (cost < 1000) { // scan-overtime, not wait
try {
// pre-read period: success > scan each second; fail > skip this period;
- TimeUnit.MILLISECONDS.sleep((preReadSuc?1000:PRE_READ_MS) - System.currentTimeMillis()%1000);
+ TimeUnit.MILLISECONDS.sleep((preReadSuc ? 1000 : PRE_READ_MS) - System.currentTimeMillis() % 1000);
} catch (InterruptedException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
@@ -238,17 +239,17 @@
List<Integer> ringItemData = new ArrayList<>();
int nowSecond = Calendar.getInstance().get(Calendar.SECOND); // 閬垮厤澶勭悊鑰楁椂澶暱锛岃法杩囧埢搴︼紝鍚戝墠鏍¢獙涓�涓埢搴︼紱
for (int i = 0; i < 2; i++) {
- List<Integer> tmpData = ringData.remove( (nowSecond+60-i)%60 );
+ List<Integer> tmpData = ringData.remove((nowSecond + 60 - i) % 60);
if (tmpData != null) {
ringItemData.addAll(tmpData);
}
}
// ring trigger
- logger.debug(">>>>>>>>>>> xxl-job, time-ring beat : " + nowSecond + " = " + Arrays.asList(ringItemData) );
+ logger.debug(">>>>>>>>>>> xxl-job, time-ring beat : " + nowSecond + " = " + Arrays.asList(ringItemData));
if (ringItemData.size() > 0) {
// do trigger
- for (int jobId: ringItemData) {
+ for (int jobId : ringItemData) {
// do trigger
JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.CRON, -1, null, null, null);
}
@@ -279,11 +280,11 @@
jobInfo.setTriggerLastTime(0);
jobInfo.setTriggerNextTime(0);
logger.warn(">>>>>>>>>>> xxl-job, refreshNextValidTime fail for job: jobId={}, scheduleType={}, scheduleConf={}",
- jobInfo.getId(), jobInfo.getScheduleType(), jobInfo.getScheduleConf());
+ jobInfo.getId(), jobInfo.getScheduleType(), jobInfo.getScheduleConf());
}
}
- private void pushTimeRing(int ringSecond, int jobId){
+ private void pushTimeRing(int ringSecond, int jobId) {
// push async ring
List<Integer> ringItemData = ringData.get(ringSecond);
if (ringItemData == null) {
@@ -292,10 +293,10 @@
}
ringItemData.add(jobId);
- logger.debug(">>>>>>>>>>> xxl-job, schedule push time-ring : " + ringSecond + " = " + Arrays.asList(ringItemData) );
+ logger.debug(">>>>>>>>>>> xxl-job, schedule push time-ring : " + ringSecond + " = " + Arrays.asList(ringItemData));
}
- public void toStop(){
+ public void toStop() {
// 1銆乻top schedule
scheduleThreadToStop = true;
@@ -304,7 +305,7 @@
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
- if (scheduleThread.getState() != Thread.State.TERMINATED){
+ if (scheduleThread.getState() != Thread.State.TERMINATED) {
// interrupt and wait
scheduleThread.interrupt();
try {
@@ -319,7 +320,7 @@
if (!ringData.isEmpty()) {
for (int second : ringData.keySet()) {
List<Integer> tmpData = ringData.get(second);
- if (tmpData!=null && tmpData.size()>0) {
+ if (tmpData != null && tmpData.size() > 0) {
hasRingData = true;
break;
}
@@ -340,7 +341,7 @@
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
- if (ringThread.getState() != Thread.State.TERMINATED){
+ if (ringThread.getState() != Thread.State.TERMINATED) {
// interrupt and wait
ringThread.interrupt();
try {
@@ -361,7 +362,7 @@
Date nextValidTime = new CronExpression(jobInfo.getScheduleConf()).getNextValidTimeAfter(fromTime);
return nextValidTime;
} else if (ScheduleTypeEnum.FIX_RATE == scheduleTypeEnum /*|| ScheduleTypeEnum.FIX_DELAY == scheduleTypeEnum*/) {
- return new Date(fromTime.getTime() + Integer.valueOf(jobInfo.getScheduleConf())*1000 );
+ return new Date(fromTime.getTime() + Integer.valueOf(jobInfo.getScheduleConf()) * 1000);
}
return null;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java
index 446c90e..0402a19 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java
@@ -16,10 +16,12 @@
API(I18nUtil.getString("jobconf_trigger_type_api")),
MISFIRE(I18nUtil.getString("jobconf_trigger_type_misfire"));
- private TriggerTypeEnum(String title){
+ private TriggerTypeEnum(String title) {
this.title = title;
}
+
private String title;
+
public String getTitle() {
return title;
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
index 748befc..ce2914a 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
@@ -30,16 +30,13 @@
*
* @param jobId
* @param triggerType
- * @param failRetryCount
- * >=0: use this param
- * <0: use param from job info config
+ * @param failRetryCount >=0: use this param
+ * <0: use param from job info config
* @param executorShardingParam
- * @param executorParam
- * null: use job param
- * not null: cover job param
- * @param addressList
- * null: use executor addressList
- * not null: cover
+ * @param executorParam null: use job param
+ * not null: cover job param
+ * @param addressList null: use executor addressList
+ * not null: cover
*/
public static void trigger(int jobId,
TriggerTypeEnum triggerType,
@@ -57,28 +54,28 @@
if (executorParam != null) {
jobInfo.setExecutorParam(executorParam);
}
- int finalFailRetryCount = failRetryCount>=0?failRetryCount:jobInfo.getExecutorFailRetryCount();
+ int finalFailRetryCount = failRetryCount >= 0 ? failRetryCount : jobInfo.getExecutorFailRetryCount();
XxlJobGroup group = XxlJobAdminConfig.getAdminConfig().getXxlJobGroupDao().load(jobInfo.getJobGroup());
// cover addressList
- if (addressList!=null && addressList.trim().length()>0) {
+ if (addressList != null && addressList.trim().length() > 0) {
group.setAddressType(1);
group.setAddressList(addressList.trim());
}
// sharding param
int[] shardingParam = null;
- if (executorShardingParam!=null){
+ if (executorShardingParam != null) {
String[] shardingArr = executorShardingParam.split("/");
- if (shardingArr.length==2 && isNumeric(shardingArr[0]) && isNumeric(shardingArr[1])) {
+ if (shardingArr.length == 2 && isNumeric(shardingArr[0]) && isNumeric(shardingArr[1])) {
shardingParam = new int[2];
shardingParam[0] = Integer.valueOf(shardingArr[0]);
shardingParam[1] = Integer.valueOf(shardingArr[1]);
}
}
- if (ExecutorRouteStrategyEnum.SHARDING_BROADCAST==ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null)
- && group.getRegistryList()!=null && !group.getRegistryList().isEmpty()
- && shardingParam==null) {
+ if (ExecutorRouteStrategyEnum.SHARDING_BROADCAST == ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null)
+ && group.getRegistryList() != null && !group.getRegistryList().isEmpty()
+ && shardingParam == null) {
for (int i = 0; i < group.getRegistryList().size(); i++) {
processTrigger(group, jobInfo, finalFailRetryCount, triggerType, i, group.getRegistryList().size());
}
@@ -91,7 +88,7 @@
}
- private static boolean isNumeric(String str){
+ private static boolean isNumeric(String str) {
try {
int result = Integer.valueOf(str);
return true;
@@ -101,19 +98,19 @@
}
/**
- * @param group job group, registry list may be empty
+ * @param group job group, registry list may be empty
* @param jobInfo
* @param finalFailRetryCount
* @param triggerType
- * @param index sharding index
- * @param total sharding index
+ * @param index sharding index
+ * @param total sharding index
*/
- private static void processTrigger(XxlJobGroup group, XxlJobInfo jobInfo, int finalFailRetryCount, TriggerTypeEnum triggerType, int index, int total){
+ private static void processTrigger(XxlJobGroup group, XxlJobInfo jobInfo, int finalFailRetryCount, TriggerTypeEnum triggerType, int index, int total) {
// param
ExecutorBlockStrategyEnum blockStrategy = ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), ExecutorBlockStrategyEnum.SERIAL_EXECUTION); // block strategy
ExecutorRouteStrategyEnum executorRouteStrategyEnum = ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null); // route strategy
- String shardingParam = (ExecutorRouteStrategyEnum.SHARDING_BROADCAST==executorRouteStrategyEnum)?String.valueOf(index).concat("/").concat(String.valueOf(total)):null;
+ String shardingParam = (ExecutorRouteStrategyEnum.SHARDING_BROADCAST == executorRouteStrategyEnum) ? String.valueOf(index).concat("/").concat(String.valueOf(total)) : null;
// 1銆乻ave log-id
XxlJobLog jobLog = new XxlJobLog();
@@ -141,7 +138,7 @@
// 3銆乮nit address
String address = null;
ReturnT<String> routeAddressResult = null;
- if (group.getRegistryList()!=null && !group.getRegistryList().isEmpty()) {
+ if (group.getRegistryList() != null && !group.getRegistryList().isEmpty()) {
if (ExecutorRouteStrategyEnum.SHARDING_BROADCAST == executorRouteStrategyEnum) {
if (index < group.getRegistryList().size()) {
address = group.getRegistryList().get(index);
@@ -171,18 +168,18 @@
triggerMsgSb.append(I18nUtil.getString("jobconf_trigger_type")).append("锛�").append(triggerType.getTitle());
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobconf_trigger_admin_adress")).append("锛�").append(IpUtil.getIp());
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobconf_trigger_exe_regtype")).append("锛�")
- .append( (group.getAddressType() == 0)?I18nUtil.getString("jobgroup_field_addressType_0"):I18nUtil.getString("jobgroup_field_addressType_1") );
+ .append((group.getAddressType() == 0) ? I18nUtil.getString("jobgroup_field_addressType_0") : I18nUtil.getString("jobgroup_field_addressType_1"));
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobconf_trigger_exe_regaddress")).append("锛�").append(group.getRegistryList());
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobinfo_field_executorRouteStrategy")).append("锛�").append(executorRouteStrategyEnum.getTitle());
if (shardingParam != null) {
- triggerMsgSb.append("("+shardingParam+")");
+ triggerMsgSb.append("(" + shardingParam + ")");
}
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobinfo_field_executorBlockStrategy")).append("锛�").append(blockStrategy.getTitle());
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobinfo_field_timeout")).append("锛�").append(jobInfo.getExecutorTimeout());
triggerMsgSb.append("<br>").append(I18nUtil.getString("jobinfo_field_executorFailRetryCount")).append("锛�").append(finalFailRetryCount);
- triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_run") +"<<<<<<<<<<< </span><br>")
- .append((routeAddressResult!=null&&routeAddressResult.getMsg()!=null)?routeAddressResult.getMsg()+"<br><br>":"").append(triggerResult.getMsg()!=null?triggerResult.getMsg():"");
+ triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>" + I18nUtil.getString("jobconf_trigger_run") + "<<<<<<<<<<< </span><br>")
+ .append((routeAddressResult != null && routeAddressResult.getMsg() != null) ? routeAddressResult.getMsg() + "<br><br>" : "").append(triggerResult.getMsg() != null ? triggerResult.getMsg() : "");
// 6銆乻ave log trigger-info
jobLog.setExecutorAddress(address);
@@ -200,11 +197,12 @@
/**
* run executor
+ *
* @param triggerParam
* @param address
* @return
*/
- public static ReturnT<String> runExecutor(TriggerParam triggerParam, String address){
+ public static ReturnT<String> runExecutor(TriggerParam triggerParam, String address) {
ReturnT<String> runResult = null;
try {
ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
index 297e97a..bb9abd7 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
@@ -91,7 +91,7 @@
public static void remove(HttpServletRequest request, HttpServletResponse response, String key) {
Cookie cookie = get(request, key);
if (cookie != null) {
- set(response, key, "" , null, COOKIE_PATH, 0, true);
+ set(response, key, "", null, COOKIE_PATH, 0, true);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
index 772a96e..4c8cc5c 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
@@ -23,7 +23,8 @@
private static Logger logger = LoggerFactory.getLogger(I18nUtil.class);
private static Properties prop = null;
- public static Properties loadI18nProp(){
+
+ public static Properties loadI18nProp() {
if (prop != null) {
return prop;
}
@@ -34,7 +35,7 @@
// load prop
Resource resource = new ClassPathResource(i18nFile);
- EncodedResource encodedResource = new EncodedResource(resource,"UTF-8");
+ EncodedResource encodedResource = new EncodedResource(resource, "UTF-8");
prop = PropertiesLoaderUtils.loadProperties(encodedResource);
} catch (IOException e) {
logger.error(e.getMessage(), e);
@@ -62,12 +63,12 @@
Map<String, String> map = new HashMap<String, String>();
Properties prop = loadI18nProp();
- if (keys!=null && keys.length>0) {
- for (String key: keys) {
+ if (keys != null && keys.length > 0) {
+ for (String key : keys) {
map.put(key, prop.getProperty(key));
}
} else {
- for (String key: prop.stringPropertyNames()) {
+ for (String key : prop.stringPropertyNames()) {
map.put(key, prop.getProperty(key));
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java
index fbab061..6232afa 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java
@@ -11,7 +11,8 @@
public class LocalCacheUtil {
private static ConcurrentMap<String, LocalCacheData> cacheRepository = new ConcurrentHashMap<String, LocalCacheData>(); // 绫诲瀷寤鸿鐢ㄦ娊璞$埗绫伙紝鍏煎鎬ф洿濂斤紱
- private static class LocalCacheData{
+
+ private static class LocalCacheData {
private String key;
private Object val;
private long timeoutTime;
@@ -59,13 +60,13 @@
* @param cacheTime
* @return
*/
- public static boolean set(String key, Object val, long cacheTime){
+ public static boolean set(String key, Object val, long cacheTime) {
// clean timeout cache, before set new cache (avoid cache too much)
cleanTimeoutCache();
// set new cache
- if (key==null || key.trim().length()==0) {
+ if (key == null || key.trim().length() == 0) {
return false;
}
if (val == null) {
@@ -86,8 +87,8 @@
* @param key
* @return
*/
- public static boolean remove(String key){
- if (key==null || key.trim().length()==0) {
+ public static boolean remove(String key) {
+ if (key == null || key.trim().length() == 0) {
return false;
}
cacheRepository.remove(key);
@@ -100,12 +101,12 @@
* @param key
* @return
*/
- public static Object get(String key){
- if (key==null || key.trim().length()==0) {
+ public static Object get(String key) {
+ if (key == null || key.trim().length() == 0) {
return null;
}
LocalCacheData localCacheData = cacheRepository.get(key);
- if (localCacheData!=null && System.currentTimeMillis()<localCacheData.getTimeoutTime()) {
+ if (localCacheData != null && System.currentTimeMillis() < localCacheData.getTimeoutTime()) {
return localCacheData.getVal();
} else {
remove(key);
@@ -118,11 +119,11 @@
*
* @return
*/
- public static boolean cleanTimeoutCache(){
+ public static boolean cleanTimeoutCache() {
if (!cacheRepository.keySet().isEmpty()) {
- for (String key: cacheRepository.keySet()) {
+ for (String key : cacheRepository.keySet()) {
LocalCacheData localCacheData = cacheRepository.get(key);
- if (localCacheData!=null && System.currentTimeMillis()>=localCacheData.getTimeoutTime()) {
+ if (localCacheData != null && System.currentTimeMillis() >= localCacheData.getTimeoutTime()) {
cacheRepository.remove(key);
}
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
index 1005c46..a68e12c 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
@@ -32,7 +32,7 @@
@Param("updateTime") Date updateTime);
public int registryDelete(@Param("registryGroup") String registryGroup,
- @Param("registryKey") String registryKey,
- @Param("registryValue") String registryValue);
+ @Param("registryKey") String registryKey,
+ @Param("registryValue") String registryValue);
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java
index 960aedd..0937b8e 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java
@@ -26,12 +26,13 @@
private XxlJobUserDao xxlJobUserDao;
- private String makeToken(XxlJobUser xxlJobUser){
+ private String makeToken(XxlJobUser xxlJobUser) {
String tokenJson = JacksonUtil.writeValueAsString(xxlJobUser);
String tokenHex = new BigInteger(tokenJson.getBytes()).toString(16);
return tokenHex;
}
- private XxlJobUser parseToken(String tokenHex){
+
+ private XxlJobUser parseToken(String tokenHex) {
XxlJobUser xxlJobUser = null;
if (tokenHex != null) {
String tokenJson = new String(new BigInteger(tokenHex, 16).toByteArray()); // username_password(md5)
@@ -41,10 +42,10 @@
}
- public ReturnT<String> login(HttpServletRequest request, HttpServletResponse response, String username, String password, boolean ifRemember){
+ public ReturnT<String> login(HttpServletRequest request, HttpServletResponse response, String username, String password, boolean ifRemember) {
// param
- if (username==null || username.trim().length()==0 || password==null || password.trim().length()==0){
+ if (username == null || username.trim().length() == 0 || password == null || password.trim().length() == 0) {
return new ReturnT<String>(500, I18nUtil.getString("login_param_empty"));
}
@@ -71,7 +72,7 @@
* @param request
* @param response
*/
- public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response){
+ public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response) {
CookieUtil.remove(request, response, LOGIN_IDENTITY_KEY);
return ReturnT.SUCCESS;
}
@@ -82,7 +83,7 @@
* @param request
* @return
*/
- public XxlJobUser ifLogin(HttpServletRequest request, HttpServletResponse response){
+ public XxlJobUser ifLogin(HttpServletRequest request, HttpServletResponse response) {
String cookieToken = CookieUtil.getValue(request, LOGIN_IDENTITY_KEY);
if (cookieToken != null) {
XxlJobUser cookieUser = null;
@@ -103,8 +104,5 @@
return null;
}
- public static void main(String[] args) {
- System.out.println("121312");
- }
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
index f8f0b43..454610c 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
@@ -52,9 +52,9 @@
// package result
Map<String, Object> maps = new HashMap<String, Object>();
- maps.put("recordsTotal" , list_count); // 鎬昏褰曟暟
- maps.put("recordsFiltered" , list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
- maps.put("data" , list); // 鍒嗛〉鍒楄〃
+ maps.put("recordsTotal", list_count); // 鎬昏褰曟暟
+ maps.put("recordsFiltered", list_count); // 杩囨护鍚庣殑鎬昏褰曟暟
+ maps.put("data", list); // 鍒嗛〉鍒楄〃
return maps;
}
@@ -105,7 +105,7 @@
}
// 銆媐ix "\r" in shell
if (GlueTypeEnum.GLUE_SHELL == GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource() != null) {
- jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r" , ""));
+ jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", ""));
}
// valid advanced
@@ -373,10 +373,10 @@
int executorCount = executorAddressSet.size();
Map<String, Object> dashboardMap = new HashMap<String, Object>();
- dashboardMap.put("jobInfoCount" , jobInfoCount);
- dashboardMap.put("jobLogCount" , jobLogCount);
- dashboardMap.put("jobLogSuccessCount" , jobLogSuccessCount);
- dashboardMap.put("executorCount" , executorCount);
+ dashboardMap.put("jobInfoCount", jobInfoCount);
+ dashboardMap.put("jobLogCount", jobLogCount);
+ dashboardMap.put("jobLogSuccessCount", jobLogSuccessCount);
+ dashboardMap.put("executorCount", executorCount);
return dashboardMap;
}
@@ -420,14 +420,14 @@
}
Map<String, Object> result = new HashMap<String, Object>();
- result.put("triggerDayList" , triggerDayList);
- result.put("triggerDayCountRunningList" , triggerDayCountRunningList);
- result.put("triggerDayCountSucList" , triggerDayCountSucList);
- result.put("triggerDayCountFailList" , triggerDayCountFailList);
+ result.put("triggerDayList", triggerDayList);
+ result.put("triggerDayCountRunningList", triggerDayCountRunningList);
+ result.put("triggerDayCountSucList", triggerDayCountSucList);
+ result.put("triggerDayCountFailList", triggerDayCountFailList);
- result.put("triggerCountRunningTotal" , triggerCountRunningTotal);
- result.put("triggerCountSucTotal" , triggerCountSucTotal);
- result.put("triggerCountFailTotal" , triggerCountFailTotal);
+ result.put("triggerCountRunningTotal", triggerCountRunningTotal);
+ result.put("triggerCountSucTotal", triggerCountSucTotal);
+ result.put("triggerCountFailTotal", triggerCountFailTotal);
return new ReturnT<Map<String, Object>>(result);
}
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties
index 8e7d835..8b3c801 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties
@@ -1,19 +1,19 @@
admin_name=Scheduling Center
admin_name_full=Distributed Task Scheduling Platform XXL-JOB
-admin_version=2.3.0
+admin_version=2.3.1
admin_i18n=en
## system
system_tips=System message
-system_ok=Confirm
+system_ok=Confirm
system_close=Close
-system_save=Save
+system_save=Save
system_cancel=Cancel
system_search=Search
system_status=Status
system_opt=Operate
-system_please_input=please input
-system_please_choose=please choose
+system_please_input=please input
+system_please_choose=please choose
system_success=success
system_fail=fail
system_add_suc=add success
@@ -191,7 +191,7 @@
joblog_kill_log_byman=Manual operation, kill job
joblog_lost_fail=Job result lost, marked as failure
joblog_rolling_log=Rolling log
-joblog_rolling_log_refresh=Refresh
+joblog_rolling_log_refresh=Refresh
joblog_rolling_log_triggerfail=The job trigger fail, can not view the rolling log
joblog_rolling_log_failoften=The request for the Rolling log is terminated, the number of failed requests exceeds the limit, Reload the log on the refresh page
joblog_logid_unvalid=Log ID is illegal
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
index 00ca50e..b3860e4 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
@@ -1,6 +1,6 @@
admin_name=浠诲姟璋冨害涓績
admin_name_full=鍒嗗竷寮忎换鍔¤皟搴﹀钩鍙癤XL-JOB
-admin_version=2.3.0
+admin_version=2.3.1
admin_i18n=
## system
@@ -273,4 +273,4 @@
## help
job_help=浣跨敤鏁欑▼
-job_help_document=瀹樻柟鏂囨。
\ No newline at end of file
+job_help_document=瀹樻柟鏂囨。
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
index 90bfc1a..ca069b3 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
@@ -1,6 +1,6 @@
admin_name=浠诲嫏瑾垮害涓績
admin_name_full=鍒嗗竷寮忎换鍕欒搴﹀钩鑷篨XL-JOB
-admin_version=2.3.0
+admin_version=2.3.1
admin_i18n=
## system
@@ -273,4 +273,4 @@
## help
job_help=浣跨敤鏁欑▼
-job_help_document=瀹樻柟鏂囦欢
\ No newline at end of file
+job_help_document=瀹樻柟鏂囦欢
diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js
index 1d83461..48d3f30 100644
--- a/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js
+++ b/ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js
@@ -1,48 +1,48 @@
$(function() {
- // init date tables
- var userListTable = $("#user_list").dataTable({
- "deferRender": true,
- "processing" : true,
- "serverSide": true,
- "ajax": {
- url: base_url + "/user/pageList",
- type:"post",
- data : function ( d ) {
- var obj = {};
+ // init date tables
+ var userListTable = $("#user_list").dataTable({
+ "deferRender": true,
+ "processing" : true,
+ "serverSide": true,
+ "ajax": {
+ url: base_url + "/user/pageList",
+ type:"post",
+ data : function ( d ) {
+ var obj = {};
obj.username = $('#username').val();
obj.role = $('#role').val();
- obj.start = d.start;
- obj.length = d.length;
+ obj.start = d.start;
+ obj.length = d.length;
return obj;
}
- },
- "searching": false,
- "ordering": false,
- //"scrollX": true, // scroll x锛宑lose self-adaption
- "columns": [
- {
- "data": 'id',
- "visible" : false,
- "width":'10%'
- },
- {
- "data": 'username',
- "visible" : true,
- "width":'20%'
- },
- {
- "data": 'password',
- "visible" : false,
+ },
+ "searching": false,
+ "ordering": false,
+ //"scrollX": true, // scroll x锛宑lose self-adaption
+ "columns": [
+ {
+ "data": 'id',
+ "visible" : false,
+ "width":'10%'
+ },
+ {
+ "data": 'username',
+ "visible" : true,
+ "width":'20%'
+ },
+ {
+ "data": 'password',
+ "visible" : false,
"width":'20%',
"render": function ( data, type, row ) {
return '*********';
}
- },
- {
- "data": 'role',
- "visible" : true,
- "width":'10%',
+ },
+ {
+ "data": 'role',
+ "visible" : true,
+ "width":'10%',
"render": function ( data, type, row ) {
if (data == 1) {
return I18n.user_role_admin
@@ -50,101 +50,101 @@
return I18n.user_role_normal
}
}
- },
- {
- "data": 'permission',
- "width":'10%',
- "visible" : false
- },
- {
- "data": I18n.system_opt ,
- "width":'15%',
- "render": function ( data, type, row ) {
- return function(){
- // html
+ },
+ {
+ "data": 'permission',
+ "width":'10%',
+ "visible" : false
+ },
+ {
+ "data": I18n.system_opt ,
+ "width":'15%',
+ "render": function ( data, type, row ) {
+ return function(){
+ // html
tableData['key'+row.id] = row;
- var html = '<p id="'+ row.id +'" >'+
- '<button class="btn btn-warning btn-xs update" type="button">'+ I18n.system_opt_edit +'</button> '+
- '<button class="btn btn-danger btn-xs delete" type="button">'+ I18n.system_opt_del +'</button> '+
- '</p>';
+ var html = '<p id="'+ row.id +'" >'+
+ '<button class="btn btn-warning btn-xs update" type="button">'+ I18n.system_opt_edit +'</button> '+
+ '<button class="btn btn-danger btn-xs delete" type="button">'+ I18n.system_opt_del +'</button> '+
+ '</p>';
- return html;
- };
- }
- }
- ],
- "language" : {
- "sProcessing" : I18n.dataTable_sProcessing ,
- "sLengthMenu" : I18n.dataTable_sLengthMenu ,
- "sZeroRecords" : I18n.dataTable_sZeroRecords ,
- "sInfo" : I18n.dataTable_sInfo ,
- "sInfoEmpty" : I18n.dataTable_sInfoEmpty ,
- "sInfoFiltered" : I18n.dataTable_sInfoFiltered ,
- "sInfoPostFix" : "",
- "sSearch" : I18n.dataTable_sSearch ,
- "sUrl" : "",
- "sEmptyTable" : I18n.dataTable_sEmptyTable ,
- "sLoadingRecords" : I18n.dataTable_sLoadingRecords ,
- "sInfoThousands" : ",",
- "oPaginate" : {
- "sFirst" : I18n.dataTable_sFirst ,
- "sPrevious" : I18n.dataTable_sPrevious ,
- "sNext" : I18n.dataTable_sNext ,
- "sLast" : I18n.dataTable_sLast
- },
- "oAria" : {
- "sSortAscending" : I18n.dataTable_sSortAscending ,
- "sSortDescending" : I18n.dataTable_sSortDescending
- }
- }
- });
+ return html;
+ };
+ }
+ }
+ ],
+ "language" : {
+ "sProcessing" : I18n.dataTable_sProcessing ,
+ "sLengthMenu" : I18n.dataTable_sLengthMenu ,
+ "sZeroRecords" : I18n.dataTable_sZeroRecords ,
+ "sInfo" : I18n.dataTable_sInfo ,
+ "sInfoEmpty" : I18n.dataTable_sInfoEmpty ,
+ "sInfoFiltered" : I18n.dataTable_sInfoFiltered ,
+ "sInfoPostFix" : "",
+ "sSearch" : I18n.dataTable_sSearch ,
+ "sUrl" : "",
+ "sEmptyTable" : I18n.dataTable_sEmptyTable ,
+ "sLoadingRecords" : I18n.dataTable_sLoadingRecords ,
+ "sInfoThousands" : ",",
+ "oPaginate" : {
+ "sFirst" : I18n.dataTable_sFirst ,
+ "sPrevious" : I18n.dataTable_sPrevious ,
+ "sNext" : I18n.dataTable_sNext ,
+ "sLast" : I18n.dataTable_sLast
+ },
+ "oAria" : {
+ "sSortAscending" : I18n.dataTable_sSortAscending ,
+ "sSortDescending" : I18n.dataTable_sSortDescending
+ }
+ }
+ });
// table data
var tableData = {};
- // search btn
- $('#searchBtn').on('click', function(){
+ // search btn
+ $('#searchBtn').on('click', function(){
userListTable.fnDraw();
- });
+ });
+
+ // job operate
+ $("#user_list").on('click', '.delete',function() {
+ var id = $(this).parent('p').attr("id");
- // job operate
- $("#user_list").on('click', '.delete',function() {
- var id = $(this).parent('p').attr("id");
-
- layer.confirm( I18n.system_ok + I18n.system_opt_del + '?', {
- icon: 3,
- title: I18n.system_tips ,
+ layer.confirm( I18n.system_ok + I18n.system_opt_del + '?', {
+ icon: 3,
+ title: I18n.system_tips ,
btn: [ I18n.system_ok, I18n.system_cancel ]
- }, function(index){
- layer.close(index);
+ }, function(index){
+ layer.close(index);
- $.ajax({
- type : 'POST',
- url : base_url + "/user/remove",
- data : {
- "id" : id
- },
- dataType : "json",
- success : function(data){
- if (data.code == 200) {
+ $.ajax({
+ type : 'POST',
+ url : base_url + "/user/remove",
+ data : {
+ "id" : id
+ },
+ dataType : "json",
+ success : function(data){
+ if (data.code == 200) {
layer.msg( I18n.system_success );
- userListTable.fnDraw(false);
- } else {
+ userListTable.fnDraw(false);
+ } else {
layer.msg( data.msg || I18n.system_opt_del + I18n.system_fail );
- }
- }
- });
- });
- });
+ }
+ }
+ });
+ });
+ });
- // add role
+ // add role
$("#addModal .form input[name=role]").change(function () {
- var role = $(this).val();
- if (role == 1) {
+ var role = $(this).val();
+ if (role == 1) {
$("#addModal .form input[name=permission]").parents('.form-group').hide();
- } else {
+ } else {
$("#addModal .form input[name=permission]").parents('.form-group').show();
- }
+ }
$("#addModal .form input[name='permission']").prop("checked",false);
});
@@ -154,28 +154,28 @@
return this.optional(element) || valid.test(value);
}, I18n.user_username_valid );
- // add
- $(".add").click(function(){
- $('#addModal').modal({backdrop: false, keyboard: false}).modal('show');
- });
- var addModalValidate = $("#addModal .form").validate({
- errorElement : 'span',
+ // add
+ $(".add").click(function(){
+ $('#addModal').modal({backdrop: false, keyboard: false}).modal('show');
+ });
+ var addModalValidate = $("#addModal .form").validate({
+ errorElement : 'span',
errorClass : 'help-block',
- focusInvalid : true,
+ focusInvalid : true,
rules : {
username : {
- required : true,
+ required : true,
rangelength:[4, 20],
myValid01: true
- },
+ },
password : {
required : true,
rangelength:[4, 20]
}
- },
+ },
messages : {
username : {
- required : I18n.system_please_input + I18n.user_username,
+ required : I18n.system_please_input + I18n.user_username,
rangelength: I18n.system_lengh_limit + "[4-20]"
},
password : {
@@ -183,15 +183,15 @@
rangelength: I18n.system_lengh_limit + "[4-20]"
}
},
- highlight : function(element) {
- $(element).closest('.form-group').addClass('has-error');
+ highlight : function(element) {
+ $(element).closest('.form-group').addClass('has-error');
},
- success : function(label) {
- label.closest('.form-group').removeClass('has-error');
- label.remove();
+ success : function(label) {
+ label.closest('.form-group').removeClass('has-error');
+ label.remove();
},
- errorPlacement : function(error, element) {
- element.parent('div').append(error);
+ errorPlacement : function(error, element) {
+ element.parent('div').append(error);
},
submitHandler : function(form) {
@@ -200,38 +200,38 @@
permissionArr.push($(this).val());
});
- var paramData = {
- "username": $("#addModal .form input[name=username]").val(),
+ var paramData = {
+ "username": $("#addModal .form input[name=username]").val(),
"password": $("#addModal .form input[name=password]").val(),
"role": $("#addModal .form input[name=role]:checked").val(),
"permission": permissionArr.join(',')
- };
+ };
- $.post(base_url + "/user/add", paramData, function(data, status) {
- if (data.code == "200") {
- $('#addModal').modal('hide');
+ $.post(base_url + "/user/add", paramData, function(data, status) {
+ if (data.code == "200") {
+ $('#addModal').modal('hide');
layer.msg( I18n.system_add_suc );
userListTable.fnDraw();
- } else {
- layer.open({
- title: I18n.system_tips ,
+ } else {
+ layer.open({
+ title: I18n.system_tips ,
btn: [ I18n.system_ok ],
- content: (data.msg || I18n.system_add_fail),
- icon: '2'
- });
- }
- });
- }
- });
- $("#addModal").on('hide.bs.modal', function () {
- $("#addModal .form")[0].reset();
- addModalValidate.resetForm();
- $("#addModal .form .form-group").removeClass("has-error");
- $(".remote_panel").show(); // remote
+ content: (data.msg || I18n.system_add_fail),
+ icon: '2'
+ });
+ }
+ });
+ }
+ });
+ $("#addModal").on('hide.bs.modal', function () {
+ $("#addModal .form")[0].reset();
+ addModalValidate.resetForm();
+ $("#addModal .form .form-group").removeClass("has-error");
+ $(".remote_panel").show(); // remote
$("#addModal .form input[name=permission]").parents('.form-group').show();
- });
+ });
// update role
$("#updateModal .form input[name=role]").change(function () {
@@ -244,21 +244,21 @@
$("#updateModal .form input[name='permission']").prop("checked",false);
});
- // update
- $("#user_list").on('click', '.update',function() {
+ // update
+ $("#user_list").on('click', '.update',function() {
var id = $(this).parent('p').attr("id");
var row = tableData['key'+id];
- // base data
- $("#updateModal .form input[name='id']").val( row.id );
- $("#updateModal .form input[name='username']").val( row.username );
- $("#updateModal .form input[name='password']").val( '' );
- $("#updateModal .form input[name='role'][value='"+ row.role +"']").click();
+ // base data
+ $("#updateModal .form input[name='id']").val( row.id );
+ $("#updateModal .form input[name='username']").val( row.username );
+ $("#updateModal .form input[name='password']").val( '' );
+ $("#updateModal .form input[name='role'][value='"+ row.role +"']").click();
var permissionArr = [];
if (row.permission) {
permissionArr = row.permission.split(",");
- }
+ }
$("#updateModal .form input[name='permission']").each(function () {
if($.inArray($(this).val(), permissionArr) > -1) {
$(this).prop("checked",true);
@@ -267,22 +267,22 @@
}
});
- // show
- $('#updateModal').modal({backdrop: false, keyboard: false}).modal('show');
- });
- var updateModalValidate = $("#updateModal .form").validate({
- errorElement : 'span',
+ // show
+ $('#updateModal').modal({backdrop: false, keyboard: false}).modal('show');
+ });
+ var updateModalValidate = $("#updateModal .form").validate({
+ errorElement : 'span',
errorClass : 'help-block',
focusInvalid : true,
- highlight : function(element) {
- $(element).closest('.form-group').addClass('has-error');
+ highlight : function(element) {
+ $(element).closest('.form-group').addClass('has-error');
},
- success : function(label) {
- label.closest('.form-group').removeClass('has-error');
- label.remove();
+ success : function(label) {
+ label.closest('.form-group').removeClass('has-error');
+ label.remove();
},
- errorPlacement : function(error, element) {
- element.parent('div').append(error);
+ errorPlacement : function(error, element) {
+ element.parent('div').append(error);
},
submitHandler : function(form) {
@@ -314,15 +314,15 @@
});
}
});
- }
- });
- $("#updateModal").on('hide.bs.modal', function () {
+ }
+ });
+ $("#updateModal").on('hide.bs.modal', function () {
$("#updateModal .form")[0].reset();
updateModalValidate.resetForm();
$("#updateModal .form .form-group").removeClass("has-error");
- $(".remote_panel").show(); // remote
+ $(".remote_panel").show(); // remote
$("#updateModal .form input[name=permission]").parents('.form-group').show();
- });
+ });
});
--
Gitblit v1.9.3