diff --git a/.gitignore b/.gitignore index dae179b..d9949e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,11 @@ -/target/ -/.idea/ -**/logs +## ide +**/.idea *.iml -rebel.xml \ No newline at end of file +rebel.xml + +## backend +**/target +**/logs + +## front +**/*.lock diff --git a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java b/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java deleted file mode 100644 index b2dd151..0000000 --- a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java +++ /dev/null @@ -1,32 +0,0 @@ -//package com.xxl.job.admin.core.jobbean; -// -//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper; -//import com.xxl.job.admin.core.trigger.TriggerTypeEnum; -//import org.quartz.JobExecutionContext; -//import org.quartz.JobExecutionException; -//import org.quartz.JobKey; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.scheduling.quartz.QuartzJobBean; -// -///** -// * http job bean -// * “@DisallowConcurrentExecution” disable concurrent, thread size can not be only one, better given more -// * @author xuxueli 2015-12-17 18:20:34 -// */ -////@DisallowConcurrentExecution -//public class RemoteHttpJobBean extends QuartzJobBean { -// private static Logger logger = LoggerFactory.getLogger(RemoteHttpJobBean.class); -// -// @Override -// protected void executeInternal(JobExecutionContext context) -// throws JobExecutionException { -// -// // load jobId -// JobKey jobKey = context.getTrigger().getJobKey(); -// Integer jobId = Integer.valueOf(jobKey.getName()); -// -// -// } -// -//} \ No newline at end of file diff --git a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java b/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java deleted file mode 100644 index 1e62aa1..0000000 --- a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java +++ /dev/null @@ -1,413 +0,0 @@ -//package com.xxl.job.admin.core.schedule; -// -//import com.xxl.job.admin.core.conf.XxlJobAdminConfig; -//import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean; -//import com.xxl.job.admin.core.model.XxlJobInfo; -//import com.xxl.job.admin.core.thread.JobFailMonitorHelper; -//import com.xxl.job.admin.core.thread.JobRegistryMonitorHelper; -//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper; -//import com.xxl.job.admin.core.util.I18nUtil; -//import com.xxl.job.core.biz.AdminBiz; -//import com.xxl.job.core.biz.ExecutorBiz; -//import com.xxl.job.core.enums.ExecutorBlockStrategyEnum; -//import com.xxl.rpc.remoting.invoker.XxlRpcInvokerFactory; -//import com.xxl.rpc.remoting.invoker.call.CallType; -//import com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean; -//import com.xxl.rpc.remoting.invoker.route.LoadBalance; -//import com.xxl.rpc.remoting.net.NetEnum; -//import com.xxl.rpc.remoting.net.impl.servlet.server.ServletServerHandler; -//import com.xxl.rpc.remoting.provider.XxlRpcProviderFactory; -//import com.xxl.rpc.serialize.Serializer; -//import org.quartz.*; -//import org.quartz.Trigger.TriggerState; -//import org.quartz.impl.triggers.CronTriggerImpl; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.util.Assert; -// -//import javax.servlet.ServletException; -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpServletResponse; -//import java.io.IOException; -//import java.util.Date; -//import java.util.concurrent.ConcurrentHashMap; -// -///** -// * base quartz scheduler util -// * @author xuxueli 2015-12-19 16:13:53 -// */ -//public final class XxlJobDynamicScheduler { -// private static final Logger logger = LoggerFactory.getLogger(XxlJobDynamicScheduler_old.class); -// -// // ---------------------- param ---------------------- -// -// // scheduler -// private static Scheduler scheduler; -// public void setScheduler(Scheduler scheduler) { -// XxlJobDynamicScheduler_old.scheduler = scheduler; -// } -// -// -// // ---------------------- init + destroy ---------------------- -// public void start() throws Exception { -// // valid -// Assert.notNull(scheduler, "quartz scheduler is null"); -// -// // init i18n -// initI18n(); -// -// // admin registry monitor run -// JobRegistryMonitorHelper.getInstance().start(); -// -// // admin monitor run -// JobFailMonitorHelper.getInstance().start(); -// -// // admin-server -// initRpcProvider(); -// -// logger.info(">>>>>>>>> init xxl-job admin success."); -// } -// -// -// public void destroy() throws Exception { -// // admin trigger pool stop -// JobTriggerPoolHelper.toStop(); -// -// // admin registry stop -// JobRegistryMonitorHelper.getInstance().toStop(); -// -// // admin monitor stop -// JobFailMonitorHelper.getInstance().toStop(); -// -// // admin-server -// stopRpcProvider(); -// } -// -// -// // ---------------------- I18n ---------------------- -// -// private void initI18n(){ -// for (ExecutorBlockStrategyEnum item:ExecutorBlockStrategyEnum.values()) { -// item.setTitle(I18nUtil.getString("jobconf_block_".concat(item.name()))); -// } -// } -// -// -// // ---------------------- admin rpc provider (no server version) ---------------------- -// private static ServletServerHandler servletServerHandler; -// private void initRpcProvider(){ -// // init -// XxlRpcProviderFactory xxlRpcProviderFactory = new XxlRpcProviderFactory(); -// xxlRpcProviderFactory.initConfig( -// NetEnum.NETTY_HTTP, -// Serializer.SerializeEnum.HESSIAN.getSerializer(), -// null, -// 0, -// XxlJobAdminConfig.getAdminConfig().getAccessToken(), -// null, -// null); -// -// // add services -// xxlRpcProviderFactory.addService(AdminBiz.class.getName(), null, XxlJobAdminConfig.getAdminConfig().getAdminBiz()); -// -// // servlet handler -// servletServerHandler = new ServletServerHandler(xxlRpcProviderFactory); -// } -// private void stopRpcProvider() throws Exception { -// XxlRpcInvokerFactory.getInstance().stop(); -// } -// public static void invokeAdminService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { -// servletServerHandler.handle(null, request, response); -// } -// -// -// // ---------------------- executor-client ---------------------- -// private static ConcurrentHashMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>(); -// public static ExecutorBiz getExecutorBiz(String address) throws Exception { -// // valid -// if (address==null || address.trim().length()==0) { -// return null; -// } -// -// // load-cache -// address = address.trim(); -// ExecutorBiz executorBiz = executorBizRepository.get(address); -// if (executorBiz != null) { -// return executorBiz; -// } -// -// // set-cache -// executorBiz = (ExecutorBiz) new XxlRpcReferenceBean( -// NetEnum.NETTY_HTTP, -// Serializer.SerializeEnum.HESSIAN.getSerializer(), -// CallType.SYNC, -// LoadBalance.ROUND, -// ExecutorBiz.class, -// null, -// 5000, -// address, -// XxlJobAdminConfig.getAdminConfig().getAccessToken(), -// null, -// null).getObject(); -// -// executorBizRepository.put(address, executorBiz); -// return executorBiz; -// } -// -// -// // ---------------------- schedule util ---------------------- -// -// /** -// * fill job info -// * -// * @param jobInfo -// */ -// public static void fillJobInfo(XxlJobInfo jobInfo) { -// -// String name = String.valueOf(jobInfo.getId()); -// -// // trigger key -// TriggerKey triggerKey = TriggerKey.triggerKey(name); -// try { -// -// // trigger cron -// Trigger trigger = scheduler.getTrigger(triggerKey); -// if (trigger!=null && trigger instanceof CronTriggerImpl) { -// String cronExpression = ((CronTriggerImpl) trigger).getCronExpression(); -// jobInfo.setJobCron(cronExpression); -// } -// -// // trigger state -// TriggerState triggerState = scheduler.getTriggerState(triggerKey); -// if (triggerState!=null) { -// jobInfo.setJobStatus(triggerState.name()); -// } -// -// //JobKey jobKey = new JobKey(jobInfo.getJobName(), String.valueOf(jobInfo.getJobGroup())); -// //JobDetail jobDetail = scheduler.getJobDetail(jobKey); -// //String jobClass = jobDetail.getJobClass().getName(); -// -// } catch (SchedulerException e) { -// logger.error(e.getMessage(), e); -// } -// } -// -// -// /** -// * add trigger + job -// * -// * @param jobName -// * @param cronExpression -// * @return -// * @throws SchedulerException -// */ -// public static boolean addJob(String jobName, String cronExpression) throws SchedulerException { -// // 1、job key -// TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// JobKey jobKey = new JobKey(jobName); -// -// // 2、valid -// if (scheduler.checkExists(triggerKey)) { -// return true; // PASS -// } -// -// // 3、corn trigger -// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing(); // withMisfireHandlingInstructionDoNothing 忽略掉调度终止过程中忽略的调度 -// CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build(); -// -// // 4、job detail -// Class<? extends Job> jobClass_ = RemoteHttpJobBean.class; // Class.forName(jobInfo.getJobClass()); -// JobDetail jobDetail = JobBuilder.newJob(jobClass_).withIdentity(jobKey).build(); -// -// /*if (jobInfo.getJobData()!=null) { -// JobDataMap jobDataMap = jobDetail.getJobDataMap(); -// jobDataMap.putAll(JacksonUtil.readValue(jobInfo.getJobData(), Map.class)); -// // JobExecutionContext context.getMergedJobDataMap().get("mailGuid"); -// }*/ -// -// // 5、schedule job -// Date date = scheduler.scheduleJob(jobDetail, cronTrigger); -// -// logger.info(">>>>>>>>>>> addJob success(quartz), jobDetail:{}, cronTrigger:{}, date:{}", jobDetail, cronTrigger, date); -// return true; -// } -// -// -// /** -// * remove trigger + job -// * -// * @param jobName -// * @return -// * @throws SchedulerException -// */ -// public static boolean removeJob(String jobName) throws SchedulerException { -// -// JobKey jobKey = new JobKey(jobName); -// scheduler.deleteJob(jobKey); -// -// /*TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// if (scheduler.checkExists(triggerKey)) { -// scheduler.unscheduleJob(triggerKey); // trigger + job -// }*/ -// -// logger.info(">>>>>>>>>>> removeJob success(quartz), jobKey:{}", jobKey); -// return true; -// } -// -// -// /** -// * updateJobCron -// * -// * @param jobName -// * @param cronExpression -// * @return -// * @throws SchedulerException -// */ -// public static boolean updateJobCron(String jobName, String cronExpression) throws SchedulerException { -// -// // 1、job key -// TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// -// // 2、valid -// if (!scheduler.checkExists(triggerKey)) { -// return true; // PASS -// } -// -// CronTrigger oldTrigger = (CronTrigger) scheduler.getTrigger(triggerKey); -// -// // 3、avoid repeat cron -// String oldCron = oldTrigger.getCronExpression(); -// if (oldCron.equals(cronExpression)){ -// return true; // PASS -// } -// -// // 4、new cron trigger -// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing(); -// oldTrigger = oldTrigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build(); -// -// // 5、rescheduleJob -// scheduler.rescheduleJob(triggerKey, oldTrigger); -// -// /* -// JobKey jobKey = new JobKey(jobName); -// -// // old job detail -// JobDetail jobDetail = scheduler.getJobDetail(jobKey); -// -// // new trigger -// HashSet<Trigger> triggerSet = new HashSet<Trigger>(); -// triggerSet.add(cronTrigger); -// // cover trigger of job detail -// scheduler.scheduleJob(jobDetail, triggerSet, true);*/ -// -// logger.info(">>>>>>>>>>> resumeJob success, JobName:{}", jobName); -// return true; -// } -// -// -// /** -// * pause -// * -// * @param jobName -// * @return -// * @throws SchedulerException -// */ -// /*public static boolean pauseJob(String jobName) throws SchedulerException { -// -// TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// -// boolean result = false; -// if (scheduler.checkExists(triggerKey)) { -// scheduler.pauseTrigger(triggerKey); -// result = true; -// } -// -// logger.info(">>>>>>>>>>> pauseJob {}, triggerKey:{}", (result?"success":"fail"),triggerKey); -// return result; -// }*/ -// -// -// /** -// * resume -// * -// * @param jobName -// * @return -// * @throws SchedulerException -// */ -// /*public static boolean resumeJob(String jobName) throws SchedulerException { -// -// TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// -// boolean result = false; -// if (scheduler.checkExists(triggerKey)) { -// scheduler.resumeTrigger(triggerKey); -// result = true; -// } -// -// logger.info(">>>>>>>>>>> resumeJob {}, triggerKey:{}", (result?"success":"fail"), triggerKey); -// return result; -// }*/ -// -// -// /** -// * run -// * -// * @param jobName -// * @return -// * @throws SchedulerException -// */ -// /*public static boolean triggerJob(String jobName) throws SchedulerException { -// // TriggerKey : name + group -// JobKey jobKey = new JobKey(jobName); -// TriggerKey triggerKey = TriggerKey.triggerKey(jobName); -// -// boolean result = false; -// if (scheduler.checkExists(triggerKey)) { -// scheduler.triggerJob(jobKey); -// result = true; -// logger.info(">>>>>>>>>>> runJob success, jobKey:{}", jobKey); -// } else { -// logger.info(">>>>>>>>>>> runJob fail, jobKey:{}", jobKey); -// } -// return result; -// }*/ -// -// -// /** -// * finaAllJobList -// * -// * @return -// *//* -// @Deprecated -// public static List<Map<String, Object>> finaAllJobList(){ -// List<Map<String, Object>> jobList = new ArrayList<Map<String,Object>>(); -// -// try { -// if (scheduler.getJobGroupNames()==null || scheduler.getJobGroupNames().size()==0) { -// return null; -// } -// String groupName = scheduler.getJobGroupNames().get(0); -// Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName)); -// if (jobKeys!=null && jobKeys.size()>0) { -// for (JobKey jobKey : jobKeys) { -// TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), Scheduler.DEFAULT_GROUP); -// Trigger trigger = scheduler.getTrigger(triggerKey); -// JobDetail jobDetail = scheduler.getJobDetail(jobKey); -// TriggerState triggerState = scheduler.getTriggerState(triggerKey); -// Map<String, Object> jobMap = new HashMap<String, Object>(); -// jobMap.put("TriggerKey", triggerKey); -// jobMap.put("Trigger", trigger); -// jobMap.put("JobDetail", jobDetail); -// jobMap.put("TriggerState", triggerState); -// jobList.add(jobMap); -// } -// } -// -// } catch (SchedulerException e) { -// logger.error(e.getMessage(), e); -// return null; -// } -// return jobList; -// }*/ -// -//} \ No newline at end of file diff --git a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java b/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java deleted file mode 100644 index ad07430..0000000 --- a/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java +++ /dev/null @@ -1,58 +0,0 @@ -//package com.xxl.job.admin.core.quartz; -// -//import org.quartz.SchedulerConfigException; -//import org.quartz.spi.ThreadPool; -// -///** -// * single thread pool, for async trigger -// * -// * @author xuxueli 2019-03-06 -// */ -//public class XxlJobThreadPool implements ThreadPool { -// -// @Override -// public boolean runInThread(Runnable runnable) { -// -// // async run -// runnable.run(); -// return true; -// -// //return false; -// } -// -// @Override -// public int blockForAvailableThreads() { -// return 1; -// } -// -// @Override -// public void initialize() throws SchedulerConfigException { -// -// } -// -// @Override -// public void shutdown(boolean waitForJobsToComplete) { -// -// } -// -// @Override -// public int getPoolSize() { -// return 1; -// } -// -// @Override -// public void setInstanceId(String schedInstId) { -// -// } -// -// @Override -// public void setInstanceName(String schedName) { -// -// } -// -// // support -// public void setThreadCount(int count) { -// // -// } -// -//}