update xxl-job 2.3.0 => 2.3.1

dev
疯狂的狮子Li 4 years ago
parent b3b763b88c
commit 3646b9b7f0

@ -33,7 +33,7 @@
<hutool.version>5.8.1</hutool.version> <hutool.version>5.8.1</hutool.version>
<redisson.version>3.17.0</redisson.version> <redisson.version>3.17.0</redisson.version>
<lock4j.version>2.2.1</lock4j.version> <lock4j.version>2.2.1</lock4j.version>
<xxl-job.version>2.3.0</xxl-job.version> <xxl-job.version>2.3.1</xxl-job.version>
<knife4j-aggregation.version>2.0.9</knife4j-aggregation.version> <knife4j-aggregation.version>2.0.9</knife4j-aggregation.version>
<knife4j.version>3.0.3</knife4j.version> <knife4j.version>3.0.3</knife4j.version>
<satoken.version>1.30.0</satoken.version> <satoken.version>1.30.0</satoken.version>

@ -24,6 +24,7 @@ import java.util.Map;
/** /**
* index controller * index controller
*
* @author xuxueli 2015-12-19 16:13:16 * @author xuxueli 2015-12-19 16:13:16
*/ */
@Controller @Controller

@ -19,6 +19,7 @@ import java.util.List;
/** /**
* job code controller * job code controller
*
* @author xuxueli 2015-12-19 16:13:16 * @author xuxueli 2015-12-19 16:13:16
*/ */
@Controller @Controller

@ -20,6 +20,7 @@ import java.util.*;
/** /**
* job group controller * job group controller
*
* @author xuxueli 2016-10-02 20:52:56 * @author xuxueli 2016-10-02 20:52:56
*/ */
@Controller @Controller

@ -1,6 +1,5 @@
package com.xxl.job.admin.controller; package com.xxl.job.admin.controller;
import com.xxl.job.admin.core.cron.CronExpression;
import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobInfo;
@ -29,11 +28,11 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.util.*; import java.util.*;
/** /**
* index controller * index controller
*
* @author xuxueli 2015-12-19 16:13:16 * @author xuxueli 2015-12-19 16:13:16
*/ */
@Controller @Controller
@ -91,6 +90,7 @@ public class JobInfoController {
} }
return jobGroupList; return jobGroupList;
} }
public static void validPermission(HttpServletRequest request, int jobGroup) { public static void validPermission(HttpServletRequest request, int jobGroup) {
XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY); XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
if (!loginUser.validPermission(jobGroup)) { if (!loginUser.validPermission(jobGroup)) {

@ -1,7 +1,7 @@
package com.xxl.job.admin.controller; package com.xxl.job.admin.controller;
import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.complete.XxlJobCompleter; import com.xxl.job.admin.core.complete.XxlJobCompleter;
import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobGroup;
import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.model.XxlJobLog; import com.xxl.job.admin.core.model.XxlJobLog;
@ -33,6 +33,7 @@ import java.util.Map;
/** /**
* index controller * index controller
*
* @author xuxueli 2015-12-19 16:13:16 * @author xuxueli 2015-12-19 16:13:16
*/ */
@Controller @Controller

@ -8,6 +8,7 @@ import java.lang.annotation.Target;
/** /**
* *
*
* @author xuxueli 2015-12-12 18:29:02 * @author xuxueli 2015-12-12 18:29:02
*/ */
@Target(ElementType.METHOD) @Target(ElementType.METHOD)

@ -37,7 +37,6 @@ public class CookieInterceptor implements AsyncHandlerInterceptor {
modelAndView.addObject("I18nUtil", FtlUtil.generateStaticModel(I18nUtil.class.getName())); modelAndView.addObject("I18nUtil", FtlUtil.generateStaticModel(I18nUtil.class.getName()));
} }
AsyncHandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
} }
} }

@ -27,7 +27,7 @@ public class PermissionInterceptor implements AsyncHandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (!(handler instanceof HandlerMethod)) { if (!(handler instanceof HandlerMethod)) {
return AsyncHandlerInterceptor.super.preHandle(request, response, handler); return true; // proceed with the next interceptor
} }
// if need login // if need login
@ -53,7 +53,7 @@ public class PermissionInterceptor implements AsyncHandlerInterceptor {
request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser); request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser);
} }
return AsyncHandlerInterceptor.super.preHandle(request, response, handler); return true; // proceed with the next interceptor
} }
} }

@ -1,8 +1,8 @@
package com.xxl.job.admin.controller.resolver; package com.xxl.job.admin.controller.resolver;
import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.admin.core.exception.XxlJobException;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.admin.core.util.JacksonUtil; import com.xxl.job.admin.core.util.JacksonUtil;
import com.xxl.job.core.biz.model.ReturnT;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

@ -32,6 +32,7 @@ public class EmailJobAlarm implements JobAlarm {
* *
* @param jobLog * @param jobLog
*/ */
@Override
public boolean doAlarm(XxlJobInfo info, XxlJobLog jobLog) { public boolean doAlarm(XxlJobInfo info, XxlJobLog jobLog) {
boolean alarmResult = true; boolean alarmResult = true;

@ -47,7 +47,7 @@ public class XxlJobCompleter {
// 1、handle success, to trigger child job // 1、handle success, to trigger child job
String triggerChildMsg = null; 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()); XxlJobInfo xxlJobInfo = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().loadById(xxlJobLog.getJobId());
if (xxlJobInfo != null && xxlJobInfo.getChildJobId() != null && xxlJobInfo.getChildJobId().trim().length() > 0) { 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>"; triggerChildMsg = "<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>" + I18nUtil.getString("jobconf_trigger_child_run") + "<<<<<<<<<<< </span><br>";

@ -23,6 +23,7 @@ import java.util.Arrays;
public class XxlJobAdminConfig implements InitializingBean, DisposableBean { public class XxlJobAdminConfig implements InitializingBean, DisposableBean {
private static XxlJobAdminConfig adminConfig = null; private static XxlJobAdminConfig adminConfig = null;
public static XxlJobAdminConfig getAdminConfig() { public static XxlJobAdminConfig getAdminConfig() {
return adminConfig; return adminConfig;
} }

@ -19,16 +19,7 @@ package com.xxl.job.admin.core.cron;
import java.io.Serializable; import java.io.Serializable;
import java.text.ParseException; import java.text.ParseException;
import java.util.Calendar; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.SortedSet;
import java.util.StringTokenizer;
import java.util.TimeZone;
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
@ -191,13 +182,11 @@ import java.util.TreeSet;
* </ul> * </ul>
* </p> * </p>
* *
*
* @author Sharada Jambula, James House * @author Sharada Jambula, James House
* @author Contributions from Mads Henderson * @author Contributions from Mads Henderson
* @author Refactoring from CronTrigger to CronExpression by Aaron Craven * @author Refactoring from CronTrigger to CronExpression by Aaron Craven
* * <p>
* Borrowed from quartz v2.3.1 * Borrowed from quartz v2.3.1
*
*/ */
public final class CronExpression implements Serializable, Cloneable { public final class CronExpression implements Serializable, Cloneable {
@ -217,6 +206,7 @@ public final class CronExpression implements Serializable, Cloneable {
protected static final Map<String, Integer> monthMap = new HashMap<String, Integer>(20); protected static final Map<String, Integer> monthMap = new HashMap<String, Integer>(20);
protected static final Map<String, Integer> dayMap = new HashMap<String, Integer>(60); protected static final Map<String, Integer> dayMap = new HashMap<String, Integer>(60);
static { static {
monthMap.put("JAN", 0); monthMap.put("JAN", 0);
monthMap.put("FEB", 1); monthMap.put("FEB", 1);
@ -265,8 +255,7 @@ public final class CronExpression implements Serializable, Cloneable {
* *
* @param cronExpression String representation of the cron expression the * @param cronExpression String representation of the cron expression the
* new object should represent * new object should represent
* @throws java.text.ParseException * @throws ParseException if the string expression cannot be parsed into a valid
* if the string expression cannot be parsed into a valid
* <CODE>CronExpression</CODE> * <CODE>CronExpression</CODE>
*/ */
public CronExpression(String cronExpression) throws ParseException { public CronExpression(String cronExpression) throws ParseException {
@ -283,8 +272,7 @@ public final class CronExpression implements Serializable, Cloneable {
* Constructs a new {@code CronExpression} as a copy of an existing * Constructs a new {@code CronExpression} as a copy of an existing
* instance. * instance.
* *
* @param expression * @param expression The existing cron expression to be copied
* The existing cron expression to be copied
*/ */
public CronExpression(CronExpression expression) { public CronExpression(CronExpression expression) {
/* /*
@ -1067,14 +1055,28 @@ public final class CronExpression implements Serializable, Cloneable {
int max = -1; int max = -1;
if (stopAt < startAt) { if (stopAt < startAt) {
switch (type) { switch (type) {
case SECOND : max = 60; break; case SECOND:
case MINUTE : max = 60; break; max = 60;
case HOUR : max = 24; break; break;
case MONTH : max = 12; break; case MINUTE:
case DAY_OF_WEEK : max = 7; break; max = 60;
case DAY_OF_MONTH : max = 31; break; break;
case YEAR : throw new IllegalArgumentException("Start year must be less than stop year"); case HOUR:
default : throw new IllegalArgumentException("Unexpected type encountered"); 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; stopAt += max;
} }
@ -1280,7 +1282,7 @@ public final class CronExpression implements Serializable, Cloneable {
day = getLastDayOfMonth(mon, cl.get(Calendar.YEAR)); day = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
day -= lastdayOffset; day -= lastdayOffset;
java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone()); Calendar tcal = Calendar.getInstance(getTimeZone());
tcal.set(Calendar.SECOND, 0); tcal.set(Calendar.SECOND, 0);
tcal.set(Calendar.MINUTE, 0); tcal.set(Calendar.MINUTE, 0);
tcal.set(Calendar.HOUR_OF_DAY, 0); tcal.set(Calendar.HOUR_OF_DAY, 0);
@ -1316,7 +1318,7 @@ public final class CronExpression implements Serializable, Cloneable {
t = day; t = day;
day = daysOfMonth.first(); 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.SECOND, 0);
tcal.set(Calendar.MINUTE, 0); tcal.set(Calendar.MINUTE, 0);
tcal.set(Calendar.HOUR_OF_DAY, 0); tcal.set(Calendar.HOUR_OF_DAY, 0);
@ -1580,9 +1582,9 @@ public final class CronExpression implements Serializable, Cloneable {
* @param hour the hour to set * @param hour the hour to set
*/ */
protected void setCalendarHour(Calendar cal, int hour) { protected void setCalendarHour(Calendar cal, int hour) {
cal.set(java.util.Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.HOUR_OF_DAY, hour);
if (cal.get(java.util.Calendar.HOUR_OF_DAY) != hour && hour != 24) { if (cal.get(Calendar.HOUR_OF_DAY) != hour && hour != 24) {
cal.set(java.util.Calendar.HOUR_OF_DAY, hour + 1); cal.set(Calendar.HOUR_OF_DAY, hour + 1);
} }
} }

@ -7,6 +7,7 @@ public class XxlJobException extends RuntimeException {
public XxlJobException() { public XxlJobException() {
} }
public XxlJobException(String message) { public XxlJobException(String message) {
super(message); super(message);
} }

@ -19,6 +19,7 @@ public class XxlJobGroup {
// registry list // registry list
private List<String> registryList; // 执行器地址列表(系统注册) private List<String> registryList; // 执行器地址列表(系统注册)
public List<String> getRegistryList() { 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(","))); registryList = new ArrayList<String>(Arrays.asList(addressList.split(",")));

@ -4,6 +4,7 @@ import java.util.Date;
/** /**
* xxl-job log, used to track trigger process * xxl-job log, used to track trigger process
*
* @author xuxueli 2015-12-19 23:19:09 * @author xuxueli 2015-12-19 23:19:09
*/ */
public class XxlJobLog { public class XxlJobLog {

@ -4,6 +4,7 @@ import java.util.Date;
/** /**
* xxl-job log for glue, used to track job code process * xxl-job log for glue, used to track job code process
*
* @author xuxueli 2016-5-19 17:57:46 * @author xuxueli 2016-5-19 17:57:46
*/ */
public class XxlJobLogGlue { public class XxlJobLogGlue {

@ -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.thread.JobTriggerPoolHelper;
//import com.xxl.job.admin.core.trigger.TriggerTypeEnum; //import com.xxl.job.admin.core.trigger.TriggerTypeEnum;

@ -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.conf.XxlJobAdminConfig;
//import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean; //import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean;

@ -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.SchedulerConfigException;
//import org.quartz.spi.ThreadPool; //import org.quartz.spi.ThreadPool;

@ -30,6 +30,7 @@ public enum ExecutorRouteStrategyEnum {
public String getTitle() { public String getTitle() {
return title; return title;
} }
public ExecutorRouter getRouter() { public ExecutorRouter getRouter() {
return router; return router;
} }

@ -1,7 +1,7 @@
package com.xxl.job.admin.core.route.strategy; package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
import com.xxl.job.admin.core.route.ExecutorRouter; import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.core.biz.ExecutorBiz; import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.IdleBeatParam; import com.xxl.job.core.biz.model.IdleBeatParam;

@ -23,6 +23,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
/** /**
* get hash code on 2^32 ring (md5hash) * get hash code on 2^32 ring (md5hash)
*
* @param key * @param key
* @return * @return
*/ */

@ -1,7 +1,7 @@
package com.xxl.job.admin.core.route.strategy; package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
import com.xxl.job.admin.core.route.ExecutorRouter; import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.core.biz.ExecutorBiz; import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;

@ -12,7 +12,7 @@ import java.util.concurrent.ConcurrentMap;
* JOB使 * JOB使
* a(*)LFU(Least Frequently Used)使/ * a(*)LFU(Least Frequently Used)使/
* bLRU(Least Recently Used)使 * bLRU(Least Recently Used)使
* * <p>
* Created by xuxueli on 17/3/10. * Created by xuxueli on 17/3/10.
*/ */
public class ExecutorRouteLFU extends ExecutorRouter { public class ExecutorRouteLFU extends ExecutorRouter {

@ -14,7 +14,7 @@ import java.util.concurrent.ConcurrentMap;
* JOB使 * JOB使
* aLFU(Least Frequently Used)使/ * aLFU(Least Frequently Used)使/
* b(*)LRU(Least Recently Used)使 * b(*)LRU(Least Recently Used)使
* * <p>
* Created by xuxueli on 17/3/10. * Created by xuxueli on 17/3/10.
*/ */
public class ExecutorRouteLRU extends ExecutorRouter { public class ExecutorRouteLRU extends ExecutorRouter {

@ -78,6 +78,7 @@ public class XxlJobScheduler {
// ---------------------- executor-client ---------------------- // ---------------------- executor-client ----------------------
private static ConcurrentMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>(); private static ConcurrentMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
public static ExecutorBiz getExecutorBiz(String address) throws Exception { public static ExecutorBiz getExecutorBiz(String address) throws Exception {
// valid // valid
if (address == null || address.trim().length() == 0) { if (address == null || address.trim().length() == 0) {

@ -23,6 +23,7 @@ public class JobCompleteHelper {
private static Logger logger = LoggerFactory.getLogger(JobCompleteHelper.class); private static Logger logger = LoggerFactory.getLogger(JobCompleteHelper.class);
private static JobCompleteHelper instance = new JobCompleteHelper(); private static JobCompleteHelper instance = new JobCompleteHelper();
public static JobCompleteHelper getInstance() { public static JobCompleteHelper getInstance() {
return instance; return instance;
} }
@ -32,6 +33,7 @@ public class JobCompleteHelper {
private ThreadPoolExecutor callbackThreadPool = null; private ThreadPoolExecutor callbackThreadPool = null;
private Thread monitorThread; private Thread monitorThread;
private volatile boolean toStop = false; private volatile boolean toStop = false;
public void start() { public void start() {
// for callback // for callback
@ -180,5 +182,4 @@ public class JobCompleteHelper {
} }
} }

@ -20,6 +20,7 @@ public class JobFailMonitorHelper {
private static Logger logger = LoggerFactory.getLogger(JobFailMonitorHelper.class); private static Logger logger = LoggerFactory.getLogger(JobFailMonitorHelper.class);
private static JobFailMonitorHelper instance = new JobFailMonitorHelper(); private static JobFailMonitorHelper instance = new JobFailMonitorHelper();
public static JobFailMonitorHelper getInstance() { public static JobFailMonitorHelper getInstance() {
return instance; return instance;
} }
@ -28,6 +29,7 @@ public class JobFailMonitorHelper {
private Thread monitorThread; private Thread monitorThread;
private volatile boolean toStop = false; private volatile boolean toStop = false;
public void start() { public void start() {
monitorThread = new Thread(new Runnable() { monitorThread = new Thread(new Runnable() {
@ -60,7 +62,7 @@ public class JobFailMonitorHelper {
// 2、fail alarm monitor // 2、fail alarm monitor
int newAlarmStatus = 0; // 告警状态0-默认、-1=锁定状态、1-无需告警、2-告警成功、3-告警失败 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); boolean alarmResult = XxlJobAdminConfig.getAdminConfig().getJobAlarmer().alarm(info, log);
newAlarmStatus = alarmResult ? 2 : 3; newAlarmStatus = alarmResult ? 2 : 3;
} else { } else {

@ -20,6 +20,7 @@ public class JobLogReportHelper {
private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class); private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
private static JobLogReportHelper instance = new JobLogReportHelper(); private static JobLogReportHelper instance = new JobLogReportHelper();
public static JobLogReportHelper getInstance() { public static JobLogReportHelper getInstance() {
return instance; return instance;
} }
@ -27,6 +28,7 @@ public class JobLogReportHelper {
private Thread logrThread; private Thread logrThread;
private volatile boolean toStop = false; private volatile boolean toStop = false;
public void start() { public void start() {
logrThread = new Thread(new Runnable() { logrThread = new Thread(new Runnable() {

@ -15,12 +15,14 @@ import java.util.concurrent.*;
/** /**
* job registry instance * job registry instance
*
* @author xuxueli 2016-10-02 19:10:24 * @author xuxueli 2016-10-02 19:10:24
*/ */
public class JobRegistryHelper { public class JobRegistryHelper {
private static Logger logger = LoggerFactory.getLogger(JobRegistryHelper.class); private static Logger logger = LoggerFactory.getLogger(JobRegistryHelper.class);
private static JobRegistryHelper instance = new JobRegistryHelper(); private static JobRegistryHelper instance = new JobRegistryHelper();
public static JobRegistryHelper getInstance() { public static JobRegistryHelper getInstance() {
return instance; return instance;
} }

@ -23,6 +23,7 @@ public class JobScheduleHelper {
private static Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class); private static Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class);
private static JobScheduleHelper instance = new JobScheduleHelper(); private static JobScheduleHelper instance = new JobScheduleHelper();
public static JobScheduleHelper getInstance() { public static JobScheduleHelper getInstance() {
return instance; return instance;
} }

@ -120,7 +120,6 @@ public class JobTriggerPoolHelper {
} }
// ---------------------- helper ---------------------- // ---------------------- helper ----------------------
private static JobTriggerPoolHelper helper = new JobTriggerPoolHelper(); private static JobTriggerPoolHelper helper = new JobTriggerPoolHelper();
@ -128,6 +127,7 @@ public class JobTriggerPoolHelper {
public static void toStart() { public static void toStart() {
helper.start(); helper.start();
} }
public static void toStop() { public static void toStop() {
helper.stop(); helper.stop();
} }
@ -135,12 +135,10 @@ public class JobTriggerPoolHelper {
/** /**
* @param jobId * @param jobId
* @param triggerType * @param triggerType
* @param failRetryCount * @param failRetryCount >=0: use this param
* >=0: use this param
* <0: use param from job info config * <0: use param from job info config
* @param executorShardingParam * @param executorShardingParam
* @param executorParam * @param executorParam null: use job param
* null: use job param
* not null: cover job param * not null: cover job param
*/ */
public static void trigger(int jobId, TriggerTypeEnum triggerType, int failRetryCount, String executorShardingParam, String executorParam, String addressList) { public static void trigger(int jobId, TriggerTypeEnum triggerType, int failRetryCount, String executorShardingParam, String executorParam, String addressList) {

@ -19,7 +19,9 @@ public enum TriggerTypeEnum {
private TriggerTypeEnum(String title) { private TriggerTypeEnum(String title) {
this.title = title; this.title = title;
} }
private String title; private String title;
public String getTitle() { public String getTitle() {
return title; return title;
} }

@ -30,15 +30,12 @@ public class XxlJobTrigger {
* *
* @param jobId * @param jobId
* @param triggerType * @param triggerType
* @param failRetryCount * @param failRetryCount >=0: use this param
* >=0: use this param
* <0: use param from job info config * <0: use param from job info config
* @param executorShardingParam * @param executorShardingParam
* @param executorParam * @param executorParam null: use job param
* null: use job param
* not null: cover job param * not null: cover job param
* @param addressList * @param addressList null: use executor addressList
* null: use executor addressList
* not null: cover * not null: cover
*/ */
public static void trigger(int jobId, public static void trigger(int jobId,
@ -200,6 +197,7 @@ public class XxlJobTrigger {
/** /**
* run executor * run executor
*
* @param triggerParam * @param triggerParam
* @param address * @param address
* @return * @return

@ -23,6 +23,7 @@ public class I18nUtil {
private static Logger logger = LoggerFactory.getLogger(I18nUtil.class); private static Logger logger = LoggerFactory.getLogger(I18nUtil.class);
private static Properties prop = null; private static Properties prop = null;
public static Properties loadI18nProp() { public static Properties loadI18nProp() {
if (prop != null) { if (prop != null) {
return prop; return prop;

@ -12,7 +12,7 @@ import java.io.IOException;
/** /**
* Jackson util * Jackson util
* * <p>
* 1obj need private and set/get * 1obj need private and set/get
* 2do not support inner class * 2do not support inner class
* *
@ -22,6 +22,7 @@ public class JacksonUtil {
private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class); private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class);
private final static ObjectMapper objectMapper = new ObjectMapper(); private final static ObjectMapper objectMapper = new ObjectMapper();
public static ObjectMapper getInstance() { public static ObjectMapper getInstance() {
return objectMapper; return objectMapper;
} }

@ -11,6 +11,7 @@ import java.util.concurrent.ConcurrentMap;
public class LocalCacheUtil { public class LocalCacheUtil {
private static ConcurrentMap<String, LocalCacheData> cacheRepository = new ConcurrentHashMap<String, LocalCacheData>(); // 类型建议用抽象父类,兼容性更好; private static ConcurrentMap<String, LocalCacheData> cacheRepository = new ConcurrentHashMap<String, LocalCacheData>(); // 类型建议用抽象父类,兼容性更好;
private static class LocalCacheData { private static class LocalCacheData {
private String key; private String key;
private Object val; private Object val;

@ -9,6 +9,7 @@ import java.util.List;
/** /**
* job info * job info
*
* @author xuxueli 2016-1-12 18:03:45 * @author xuxueli 2016-1-12 18:03:45
*/ */
@Mapper @Mapper
@ -21,6 +22,7 @@ public interface XxlJobInfoDao {
@Param("jobDesc") String jobDesc, @Param("jobDesc") String jobDesc,
@Param("executorHandler") String executorHandler, @Param("executorHandler") String executorHandler,
@Param("author") String author); @Param("author") String author);
public int pageListCount(@Param("offset") int offset, public int pageListCount(@Param("offset") int offset,
@Param("pagesize") int pagesize, @Param("pagesize") int pagesize,
@Param("jobGroup") int jobGroup, @Param("jobGroup") int jobGroup,

@ -10,6 +10,7 @@ import java.util.Map;
/** /**
* job log * job log
*
* @author xuxueli 2016-1-12 18:03:06 * @author xuxueli 2016-1-12 18:03:06
*/ */
@Mapper @Mapper
@ -23,6 +24,7 @@ public interface XxlJobLogDao {
@Param("triggerTimeStart") Date triggerTimeStart, @Param("triggerTimeStart") Date triggerTimeStart,
@Param("triggerTimeEnd") Date triggerTimeEnd, @Param("triggerTimeEnd") Date triggerTimeEnd,
@Param("logStatus") int logStatus); @Param("logStatus") int logStatus);
public int pageListCount(@Param("offset") int offset, public int pageListCount(@Param("offset") int offset,
@Param("pagesize") int pagesize, @Param("pagesize") int pagesize,
@Param("jobGroup") int jobGroup, @Param("jobGroup") int jobGroup,
@ -49,6 +51,7 @@ public interface XxlJobLogDao {
@Param("clearBeforeTime") Date clearBeforeTime, @Param("clearBeforeTime") Date clearBeforeTime,
@Param("clearBeforeNum") int clearBeforeNum, @Param("clearBeforeNum") int clearBeforeNum,
@Param("pagesize") int pagesize); @Param("pagesize") int pagesize);
public int clearLog(@Param("logIds") List<Long> logIds); public int clearLog(@Param("logIds") List<Long> logIds);
public List<Long> findFailJobLogIds(@Param("pagesize") int pagesize); public List<Long> findFailJobLogIds(@Param("pagesize") int pagesize);

@ -8,6 +8,7 @@ import java.util.List;
/** /**
* job log for glue * job log for glue
*
* @author xuxueli 2016-5-19 18:04:56 * @author xuxueli 2016-5-19 18:04:56
*/ */
@Mapper @Mapper

@ -9,6 +9,7 @@ import java.util.List;
/** /**
* job log * job log
*
* @author xuxueli 2019-11-22 * @author xuxueli 2019-11-22
*/ */
@Mapper @Mapper

@ -3,6 +3,7 @@ package com.xxl.job.admin.dao;
import com.xxl.job.admin.core.model.XxlJobUser; import com.xxl.job.admin.core.model.XxlJobUser;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
/** /**
@ -15,6 +16,7 @@ public interface XxlJobUserDao {
@Param("pagesize") int pagesize, @Param("pagesize") int pagesize,
@Param("username") String username, @Param("username") String username,
@Param("role") int role); @Param("role") int role);
public int pageListCount(@Param("offset") int offset, public int pageListCount(@Param("offset") int offset,
@Param("pagesize") int pagesize, @Param("pagesize") int pagesize,
@Param("username") String username, @Param("username") String username,

@ -31,6 +31,7 @@ public class LoginService {
String tokenHex = new BigInteger(tokenJson.getBytes()).toString(16); String tokenHex = new BigInteger(tokenJson.getBytes()).toString(16);
return tokenHex; return tokenHex;
} }
private XxlJobUser parseToken(String tokenHex) { private XxlJobUser parseToken(String tokenHex) {
XxlJobUser xxlJobUser = null; XxlJobUser xxlJobUser = null;
if (tokenHex != null) { if (tokenHex != null) {
@ -103,8 +104,5 @@ public class LoginService {
return null; return null;
} }
public static void main(String[] args) {
System.out.println("121312");
}
} }

@ -46,6 +46,7 @@ public interface XxlJobService {
/** /**
* remove job * remove job
* * * *
*
* @param id * @param id
* @return * @return
*/ */

@ -25,6 +25,7 @@ import java.util.*;
/** /**
* core job action for xxl-job * core job action for xxl-job
*
* @author xuxueli 2016-5-28 15:30:33 * @author xuxueli 2016-5-28 15:30:33
*/ */
@Service @Service

@ -1,6 +1,6 @@
admin_name=Scheduling Center admin_name=Scheduling Center
admin_name_full=Distributed Task Scheduling Platform XXL-JOB admin_name_full=Distributed Task Scheduling Platform XXL-JOB
admin_version=2.3.0 admin_version=2.3.1
admin_i18n=en admin_i18n=en
## system ## system

@ -1,6 +1,6 @@
admin_name=任务调度中心 admin_name=任务调度中心
admin_name_full=分布式任务调度平台XXL-JOB admin_name_full=分布式任务调度平台XXL-JOB
admin_version=2.3.0 admin_version=2.3.1
admin_i18n= admin_i18n=
## system ## system

@ -1,6 +1,6 @@
admin_name=任務調度中心 admin_name=任務調度中心
admin_name_full=分布式任務調度平臺XXL-JOB admin_name_full=分布式任務調度平臺XXL-JOB
admin_version=2.3.0 admin_version=2.3.1
admin_i18n= admin_i18n=
## system ## system

Loading…
Cancel
Save