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> ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
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; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
@@ -37,7 +37,6 @@ modelAndView.addObject("I18nUtil" , FtlUtil.generateStaticModel(I18nUtil.class.getName())); } AsyncHandlerInterceptor.super.postHandle(request, response, handler, modelAndView); } } 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 @@ -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 } } 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; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java
@@ -32,6 +32,7 @@ * * @param jobLog */ @Override public boolean doAlarm(XxlJobInfo info, XxlJobLog jobLog){ boolean alarmResult = true; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/complete/XxlJobCompleter.java
@@ -47,7 +47,7 @@ // 1、handle 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>"; 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; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java
@@ -191,13 +191,11 @@ * </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 { @@ -217,6 +215,7 @@ 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); @@ -265,8 +264,7 @@ * * @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 * @throws ParseException if the string expression cannot be parsed into a valid * <CODE>CronExpression</CODE> */ public CronExpression(String cronExpression) throws ParseException { @@ -283,8 +281,7 @@ * 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) { /* @@ -1067,14 +1064,28 @@ 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; } @@ -1280,7 +1291,7 @@ 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); @@ -1316,7 +1327,7 @@ 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); @@ -1580,9 +1591,9 @@ * @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); } } 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); } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobGroup.java
@@ -19,6 +19,7 @@ // registry list private List<String> registryList; // 执行器地址列表(系统注册) public List<String> getRegistryList() { if (addressList!=null && addressList.trim().length()>0) { registryList = new ArrayList<String>(Arrays.asList(addressList.split(","))); ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
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; 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; 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; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouteStrategyEnum.java
@@ -30,6 +30,7 @@ public String getTitle() { return title; } public ExecutorRouter getRouter() { return router; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
@@ -23,6 +23,7 @@ /** * get hash code on 2^32 ring (md5散列的方式计算hash值) * * @param key * @return */ ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
@@ -12,7 +12,7 @@ * 单个JOB对应的每个执行器,使用频率最低的优先被选举 * a(*)、LFU(Least Frequently Used):最不经常使用,频率/次数 * b、LRU(Least Recently Used):最近最久未使用,时间 * * <p> * Created by xuxueli on 17/3/10. */ public class ExecutorRouteLFU extends ExecutorRouter { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
@@ -14,7 +14,7 @@ * 单个JOB对应的每个执行器,最久为使用的优先被选举 * a、LFU(Least Frequently Used):最不经常使用,频率/次数 * b(*)、LRU(Least Recently Used):最近最久未使用,时间 * * <p> * Created by xuxueli on 17/3/10. */ public class ExecutorRouteLRU extends ExecutorRouter { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java
@@ -78,6 +78,7 @@ // ---------------------- 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) { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java
@@ -62,7 +62,7 @@ // 2、fail 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 { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
@@ -20,6 +20,7 @@ private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class); private static JobLogReportHelper instance = new JobLogReportHelper(); public static JobLogReportHelper getInstance(){ return instance; } @@ -27,6 +28,7 @@ private Thread logrThread; private volatile boolean toStop = false; public void start(){ logrThread = new Thread(new Runnable() { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
@@ -23,6 +23,7 @@ private static Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class); private static JobScheduleHelper instance = new JobScheduleHelper(); public static JobScheduleHelper getInstance(){ return instance; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/TriggerTypeEnum.java
@@ -19,7 +19,9 @@ private TriggerTypeEnum(String title){ this.title = title; } private String title; public String getTitle() { return title; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
@@ -30,15 +30,12 @@ * * @param jobId * @param triggerType * @param failRetryCount * >=0: use this param * @param failRetryCount >=0: use this param * <0: use param from job info config * @param executorShardingParam * @param executorParam * null: use job param * @param executorParam null: use job param * not null: cover job param * @param addressList * null: use executor addressList * @param addressList null: use executor addressList * not null: cover */ public static void trigger(int jobId, @@ -200,6 +197,7 @@ /** * run executor * * @param triggerParam * @param address * @return ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
@@ -23,6 +23,7 @@ private static Logger logger = LoggerFactory.getLogger(I18nUtil.class); private static Properties prop = null; public static Properties loadI18nProp(){ if (prop != null) { return prop; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java
@@ -11,6 +11,7 @@ public class LocalCacheUtil { private static ConcurrentMap<String, LocalCacheData> cacheRepository = new ConcurrentHashMap<String, LocalCacheData>(); // 类型建议用抽象父类,兼容性更好; private static class LocalCacheData{ private String key; private Object val; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/LoginService.java
@@ -31,6 +31,7 @@ String tokenHex = new BigInteger(tokenJson.getBytes()).toString(16); return tokenHex; } private XxlJobUser parseToken(String tokenHex){ XxlJobUser xxlJobUser = null; if (tokenHex != null) { @@ -103,8 +104,5 @@ return null; } public static void main(String[] args) { System.out.println("121312"); } } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_en.properties
@@ -1,6 +1,6 @@ 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 ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
@@ -1,6 +1,6 @@ admin_name=任务调度中心 admin_name_full=分布式任务调度平台XXL-JOB admin_version=2.3.0 admin_version=2.3.1 admin_i18n= ## system ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
@@ -1,6 +1,6 @@ admin_name=任務調度中心 admin_name_full=分布式任務調度平臺XXL-JOB admin_version=2.3.0 admin_version=2.3.1 admin_i18n= ## system ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js