Commit 9c8f0bef89327927559a51a7709c85a9855a6b38

Authored by zhangdaiscott
1 parent febb62de

后台项目结构调整,结构更清晰

README.md
... ... @@ -41,7 +41,7 @@ JeecgBoot 提供了一系列`低代码模块`,实现在线开发`真正的零
41 41  
42 42 项目源码
43 43 -----------------------------------
44   -| 仓库 |前端源码Vue3版 | 前端源码Vue2版 | 后端源码 |
  44 +| 仓库 |前端 Vue3版 | 前端 Vue2版 | 后端源码 |
45 45 |-|-|-|-|
46 46 | Github | [jeecgboot-vue3](https://github.com/jeecgboot/jeecgboot-vue3) | [ant-design-vue-jeecg](https://github.com/jeecgboot/ant-design-vue-jeecg) | [jeecg-boot](https://github.com/jeecgboot/jeecg-boot) |
47 47 | 码云 | [jeecgboot-vue3](https://gitee.com/jeecg/jeecgboot-vue3) | [ant-design-vue-jeecg](https://gitee.com/jeecg/ant-design-vue-jeecg) | [jeecg-boot](https://gitee.com/jeecg/jeecg-boot) |
... ...
jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/RemoteHttpJobBean.java 0 → 100644
  1 +//package com.xxl.job.admin.core.jobbean;
  2 +//
  3 +//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
  4 +//import com.xxl.job.admin.core.trigger.TriggerTypeEnum;
  5 +//import org.quartz.JobExecutionContext;
  6 +//import org.quartz.JobExecutionException;
  7 +//import org.quartz.JobKey;
  8 +//import org.slf4j.Logger;
  9 +//import org.slf4j.LoggerFactory;
  10 +//import org.springframework.scheduling.quartz.QuartzJobBean;
  11 +//
  12 +///**
  13 +// * http job bean
  14 +// * “@DisallowConcurrentExecution” disable concurrent, thread size can not be only one, better given more
  15 +// * @author xuxueli 2015-12-17 18:20:34
  16 +// */
  17 +////@DisallowConcurrentExecution
  18 +//public class RemoteHttpJobBean extends QuartzJobBean {
  19 +// private static Logger logger = LoggerFactory.getLogger(RemoteHttpJobBean.class);
  20 +//
  21 +// @Override
  22 +// protected void executeInternal(JobExecutionContext context)
  23 +// throws JobExecutionException {
  24 +//
  25 +// // load jobId
  26 +// JobKey jobKey = context.getTrigger().getJobKey();
  27 +// Integer jobId = Integer.valueOf(jobKey.getName());
  28 +//
  29 +//
  30 +// }
  31 +//
  32 +//}
0 33 \ No newline at end of file
... ...
jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java 0 → 100644
  1 +//package com.xxl.job.admin.core.schedule;
  2 +//
  3 +//import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
  4 +//import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean;
  5 +//import com.xxl.job.admin.core.model.XxlJobInfo;
  6 +//import com.xxl.job.admin.core.thread.JobFailMonitorHelper;
  7 +//import com.xxl.job.admin.core.thread.JobRegistryMonitorHelper;
  8 +//import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
  9 +//import com.xxl.job.admin.core.util.I18nUtil;
  10 +//import com.xxl.job.core.biz.AdminBiz;
  11 +//import com.xxl.job.core.biz.ExecutorBiz;
  12 +//import com.xxl.job.core.enums.ExecutorBlockStrategyEnum;
  13 +//import com.xxl.rpc.remoting.invoker.XxlRpcInvokerFactory;
  14 +//import com.xxl.rpc.remoting.invoker.call.CallType;
  15 +//import com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean;
  16 +//import com.xxl.rpc.remoting.invoker.route.LoadBalance;
  17 +//import com.xxl.rpc.remoting.net.NetEnum;
  18 +//import com.xxl.rpc.remoting.net.impl.servlet.server.ServletServerHandler;
  19 +//import com.xxl.rpc.remoting.provider.XxlRpcProviderFactory;
  20 +//import com.xxl.rpc.serialize.Serializer;
  21 +//import org.quartz.*;
  22 +//import org.quartz.Trigger.TriggerState;
  23 +//import org.quartz.impl.triggers.CronTriggerImpl;
  24 +//import org.slf4j.Logger;
  25 +//import org.slf4j.LoggerFactory;
  26 +//import org.springframework.util.Assert;
  27 +//
  28 +//import javax.servlet.ServletException;
  29 +//import javax.servlet.http.HttpServletRequest;
  30 +//import javax.servlet.http.HttpServletResponse;
  31 +//import java.io.IOException;
  32 +//import java.util.Date;
  33 +//import java.util.concurrent.ConcurrentHashMap;
  34 +//
  35 +///**
  36 +// * base quartz scheduler util
  37 +// * @author xuxueli 2015-12-19 16:13:53
  38 +// */
  39 +//public final class XxlJobDynamicScheduler {
  40 +// private static final Logger logger = LoggerFactory.getLogger(XxlJobDynamicScheduler_old.class);
  41 +//
  42 +// // ---------------------- param ----------------------
  43 +//
  44 +// // scheduler
  45 +// private static Scheduler scheduler;
  46 +// public void setScheduler(Scheduler scheduler) {
  47 +// XxlJobDynamicScheduler_old.scheduler = scheduler;
  48 +// }
  49 +//
  50 +//
  51 +// // ---------------------- init + destroy ----------------------
  52 +// public void start() throws Exception {
  53 +// // valid
  54 +// Assert.notNull(scheduler, "quartz scheduler is null");
  55 +//
  56 +// // init i18n
  57 +// initI18n();
  58 +//
  59 +// // admin registry monitor run
  60 +// JobRegistryMonitorHelper.getInstance().start();
  61 +//
  62 +// // admin monitor run
  63 +// JobFailMonitorHelper.getInstance().start();
  64 +//
  65 +// // admin-server
  66 +// initRpcProvider();
  67 +//
  68 +// logger.info(">>>>>>>>> init xxl-job admin success.");
  69 +// }
  70 +//
  71 +//
  72 +// public void destroy() throws Exception {
  73 +// // admin trigger pool stop
  74 +// JobTriggerPoolHelper.toStop();
  75 +//
  76 +// // admin registry stop
  77 +// JobRegistryMonitorHelper.getInstance().toStop();
  78 +//
  79 +// // admin monitor stop
  80 +// JobFailMonitorHelper.getInstance().toStop();
  81 +//
  82 +// // admin-server
  83 +// stopRpcProvider();
  84 +// }
  85 +//
  86 +//
  87 +// // ---------------------- I18n ----------------------
  88 +//
  89 +// private void initI18n(){
  90 +// for (ExecutorBlockStrategyEnum item:ExecutorBlockStrategyEnum.values()) {
  91 +// item.setTitle(I18nUtil.getString("jobconf_block_".concat(item.name())));
  92 +// }
  93 +// }
  94 +//
  95 +//
  96 +// // ---------------------- admin rpc provider (no server version) ----------------------
  97 +// private static ServletServerHandler servletServerHandler;
  98 +// private void initRpcProvider(){
  99 +// // init
  100 +// XxlRpcProviderFactory xxlRpcProviderFactory = new XxlRpcProviderFactory();
  101 +// xxlRpcProviderFactory.initConfig(
  102 +// NetEnum.NETTY_HTTP,
  103 +// Serializer.SerializeEnum.HESSIAN.getSerializer(),
  104 +// null,
  105 +// 0,
  106 +// XxlJobAdminConfig.getAdminConfig().getAccessToken(),
  107 +// null,
  108 +// null);
  109 +//
  110 +// // add services
  111 +// xxlRpcProviderFactory.addService(AdminBiz.class.getName(), null, XxlJobAdminConfig.getAdminConfig().getAdminBiz());
  112 +//
  113 +// // servlet handler
  114 +// servletServerHandler = new ServletServerHandler(xxlRpcProviderFactory);
  115 +// }
  116 +// private void stopRpcProvider() throws Exception {
  117 +// XxlRpcInvokerFactory.getInstance().stop();
  118 +// }
  119 +// public static void invokeAdminService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
  120 +// servletServerHandler.handle(null, request, response);
  121 +// }
  122 +//
  123 +//
  124 +// // ---------------------- executor-client ----------------------
  125 +// private static ConcurrentHashMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
  126 +// public static ExecutorBiz getExecutorBiz(String address) throws Exception {
  127 +// // valid
  128 +// if (address==null || address.trim().length()==0) {
  129 +// return null;
  130 +// }
  131 +//
  132 +// // load-cache
  133 +// address = address.trim();
  134 +// ExecutorBiz executorBiz = executorBizRepository.get(address);
  135 +// if (executorBiz != null) {
  136 +// return executorBiz;
  137 +// }
  138 +//
  139 +// // set-cache
  140 +// executorBiz = (ExecutorBiz) new XxlRpcReferenceBean(
  141 +// NetEnum.NETTY_HTTP,
  142 +// Serializer.SerializeEnum.HESSIAN.getSerializer(),
  143 +// CallType.SYNC,
  144 +// LoadBalance.ROUND,
  145 +// ExecutorBiz.class,
  146 +// null,
  147 +// 5000,
  148 +// address,
  149 +// XxlJobAdminConfig.getAdminConfig().getAccessToken(),
  150 +// null,
  151 +// null).getObject();
  152 +//
  153 +// executorBizRepository.put(address, executorBiz);
  154 +// return executorBiz;
  155 +// }
  156 +//
  157 +//
  158 +// // ---------------------- schedule util ----------------------
  159 +//
  160 +// /**
  161 +// * fill job info
  162 +// *
  163 +// * @param jobInfo
  164 +// */
  165 +// public static void fillJobInfo(XxlJobInfo jobInfo) {
  166 +//
  167 +// String name = String.valueOf(jobInfo.getId());
  168 +//
  169 +// // trigger key
  170 +// TriggerKey triggerKey = TriggerKey.triggerKey(name);
  171 +// try {
  172 +//
  173 +// // trigger cron
  174 +// Trigger trigger = scheduler.getTrigger(triggerKey);
  175 +// if (trigger!=null && trigger instanceof CronTriggerImpl) {
  176 +// String cronExpression = ((CronTriggerImpl) trigger).getCronExpression();
  177 +// jobInfo.setJobCron(cronExpression);
  178 +// }
  179 +//
  180 +// // trigger state
  181 +// TriggerState triggerState = scheduler.getTriggerState(triggerKey);
  182 +// if (triggerState!=null) {
  183 +// jobInfo.setJobStatus(triggerState.name());
  184 +// }
  185 +//
  186 +// //JobKey jobKey = new JobKey(jobInfo.getJobName(), String.valueOf(jobInfo.getJobGroup()));
  187 +// //JobDetail jobDetail = scheduler.getJobDetail(jobKey);
  188 +// //String jobClass = jobDetail.getJobClass().getName();
  189 +//
  190 +// } catch (SchedulerException e) {
  191 +// logger.error(e.getMessage(), e);
  192 +// }
  193 +// }
  194 +//
  195 +//
  196 +// /**
  197 +// * add trigger + job
  198 +// *
  199 +// * @param jobName
  200 +// * @param cronExpression
  201 +// * @return
  202 +// * @throws SchedulerException
  203 +// */
  204 +// public static boolean addJob(String jobName, String cronExpression) throws SchedulerException {
  205 +// // 1、job key
  206 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  207 +// JobKey jobKey = new JobKey(jobName);
  208 +//
  209 +// // 2、valid
  210 +// if (scheduler.checkExists(triggerKey)) {
  211 +// return true; // PASS
  212 +// }
  213 +//
  214 +// // 3、corn trigger
  215 +// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing(); // withMisfireHandlingInstructionDoNothing 忽略掉调度终止过程中忽略的调度
  216 +// CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
  217 +//
  218 +// // 4、job detail
  219 +// Class<? extends Job> jobClass_ = RemoteHttpJobBean.class; // Class.forName(jobInfo.getJobClass());
  220 +// JobDetail jobDetail = JobBuilder.newJob(jobClass_).withIdentity(jobKey).build();
  221 +//
  222 +// /*if (jobInfo.getJobData()!=null) {
  223 +// JobDataMap jobDataMap = jobDetail.getJobDataMap();
  224 +// jobDataMap.putAll(JacksonUtil.readValue(jobInfo.getJobData(), Map.class));
  225 +// // JobExecutionContext context.getMergedJobDataMap().get("mailGuid");
  226 +// }*/
  227 +//
  228 +// // 5、schedule job
  229 +// Date date = scheduler.scheduleJob(jobDetail, cronTrigger);
  230 +//
  231 +// logger.info(">>>>>>>>>>> addJob success(quartz), jobDetail:{}, cronTrigger:{}, date:{}", jobDetail, cronTrigger, date);
  232 +// return true;
  233 +// }
  234 +//
  235 +//
  236 +// /**
  237 +// * remove trigger + job
  238 +// *
  239 +// * @param jobName
  240 +// * @return
  241 +// * @throws SchedulerException
  242 +// */
  243 +// public static boolean removeJob(String jobName) throws SchedulerException {
  244 +//
  245 +// JobKey jobKey = new JobKey(jobName);
  246 +// scheduler.deleteJob(jobKey);
  247 +//
  248 +// /*TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  249 +// if (scheduler.checkExists(triggerKey)) {
  250 +// scheduler.unscheduleJob(triggerKey); // trigger + job
  251 +// }*/
  252 +//
  253 +// logger.info(">>>>>>>>>>> removeJob success(quartz), jobKey:{}", jobKey);
  254 +// return true;
  255 +// }
  256 +//
  257 +//
  258 +// /**
  259 +// * updateJobCron
  260 +// *
  261 +// * @param jobName
  262 +// * @param cronExpression
  263 +// * @return
  264 +// * @throws SchedulerException
  265 +// */
  266 +// public static boolean updateJobCron(String jobName, String cronExpression) throws SchedulerException {
  267 +//
  268 +// // 1、job key
  269 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  270 +//
  271 +// // 2、valid
  272 +// if (!scheduler.checkExists(triggerKey)) {
  273 +// return true; // PASS
  274 +// }
  275 +//
  276 +// CronTrigger oldTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
  277 +//
  278 +// // 3、avoid repeat cron
  279 +// String oldCron = oldTrigger.getCronExpression();
  280 +// if (oldCron.equals(cronExpression)){
  281 +// return true; // PASS
  282 +// }
  283 +//
  284 +// // 4、new cron trigger
  285 +// CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing();
  286 +// oldTrigger = oldTrigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
  287 +//
  288 +// // 5、rescheduleJob
  289 +// scheduler.rescheduleJob(triggerKey, oldTrigger);
  290 +//
  291 +// /*
  292 +// JobKey jobKey = new JobKey(jobName);
  293 +//
  294 +// // old job detail
  295 +// JobDetail jobDetail = scheduler.getJobDetail(jobKey);
  296 +//
  297 +// // new trigger
  298 +// HashSet<Trigger> triggerSet = new HashSet<Trigger>();
  299 +// triggerSet.add(cronTrigger);
  300 +// // cover trigger of job detail
  301 +// scheduler.scheduleJob(jobDetail, triggerSet, true);*/
  302 +//
  303 +// logger.info(">>>>>>>>>>> resumeJob success, JobName:{}", jobName);
  304 +// return true;
  305 +// }
  306 +//
  307 +//
  308 +// /**
  309 +// * pause
  310 +// *
  311 +// * @param jobName
  312 +// * @return
  313 +// * @throws SchedulerException
  314 +// */
  315 +// /*public static boolean pauseJob(String jobName) throws SchedulerException {
  316 +//
  317 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  318 +//
  319 +// boolean result = false;
  320 +// if (scheduler.checkExists(triggerKey)) {
  321 +// scheduler.pauseTrigger(triggerKey);
  322 +// result = true;
  323 +// }
  324 +//
  325 +// logger.info(">>>>>>>>>>> pauseJob {}, triggerKey:{}", (result?"success":"fail"),triggerKey);
  326 +// return result;
  327 +// }*/
  328 +//
  329 +//
  330 +// /**
  331 +// * resume
  332 +// *
  333 +// * @param jobName
  334 +// * @return
  335 +// * @throws SchedulerException
  336 +// */
  337 +// /*public static boolean resumeJob(String jobName) throws SchedulerException {
  338 +//
  339 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  340 +//
  341 +// boolean result = false;
  342 +// if (scheduler.checkExists(triggerKey)) {
  343 +// scheduler.resumeTrigger(triggerKey);
  344 +// result = true;
  345 +// }
  346 +//
  347 +// logger.info(">>>>>>>>>>> resumeJob {}, triggerKey:{}", (result?"success":"fail"), triggerKey);
  348 +// return result;
  349 +// }*/
  350 +//
  351 +//
  352 +// /**
  353 +// * run
  354 +// *
  355 +// * @param jobName
  356 +// * @return
  357 +// * @throws SchedulerException
  358 +// */
  359 +// /*public static boolean triggerJob(String jobName) throws SchedulerException {
  360 +// // TriggerKey : name + group
  361 +// JobKey jobKey = new JobKey(jobName);
  362 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobName);
  363 +//
  364 +// boolean result = false;
  365 +// if (scheduler.checkExists(triggerKey)) {
  366 +// scheduler.triggerJob(jobKey);
  367 +// result = true;
  368 +// logger.info(">>>>>>>>>>> runJob success, jobKey:{}", jobKey);
  369 +// } else {
  370 +// logger.info(">>>>>>>>>>> runJob fail, jobKey:{}", jobKey);
  371 +// }
  372 +// return result;
  373 +// }*/
  374 +//
  375 +//
  376 +// /**
  377 +// * finaAllJobList
  378 +// *
  379 +// * @return
  380 +// *//*
  381 +// @Deprecated
  382 +// public static List<Map<String, Object>> finaAllJobList(){
  383 +// List<Map<String, Object>> jobList = new ArrayList<Map<String,Object>>();
  384 +//
  385 +// try {
  386 +// if (scheduler.getJobGroupNames()==null || scheduler.getJobGroupNames().size()==0) {
  387 +// return null;
  388 +// }
  389 +// String groupName = scheduler.getJobGroupNames().get(0);
  390 +// Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
  391 +// if (jobKeys!=null && jobKeys.size()>0) {
  392 +// for (JobKey jobKey : jobKeys) {
  393 +// TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), Scheduler.DEFAULT_GROUP);
  394 +// Trigger trigger = scheduler.getTrigger(triggerKey);
  395 +// JobDetail jobDetail = scheduler.getJobDetail(jobKey);
  396 +// TriggerState triggerState = scheduler.getTriggerState(triggerKey);
  397 +// Map<String, Object> jobMap = new HashMap<String, Object>();
  398 +// jobMap.put("TriggerKey", triggerKey);
  399 +// jobMap.put("Trigger", trigger);
  400 +// jobMap.put("JobDetail", jobDetail);
  401 +// jobMap.put("TriggerState", triggerState);
  402 +// jobList.add(jobMap);
  403 +// }
  404 +// }
  405 +//
  406 +// } catch (SchedulerException e) {
  407 +// logger.error(e.getMessage(), e);
  408 +// return null;
  409 +// }
  410 +// return jobList;
  411 +// }*/
  412 +//
  413 +//}
0 414 \ No newline at end of file
... ...
jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobThreadPool.java 0 → 100644
  1 +//package com.xxl.job.admin.core.quartz;
  2 +//
  3 +//import org.quartz.SchedulerConfigException;
  4 +//import org.quartz.spi.ThreadPool;
  5 +//
  6 +///**
  7 +// * single thread pool, for async trigger
  8 +// *
  9 +// * @author xuxueli 2019-03-06
  10 +// */
  11 +//public class XxlJobThreadPool implements ThreadPool {
  12 +//
  13 +// @Override
  14 +// public boolean runInThread(Runnable runnable) {
  15 +//
  16 +// // async run
  17 +// runnable.run();
  18 +// return true;
  19 +//
  20 +// //return false;
  21 +// }
  22 +//
  23 +// @Override
  24 +// public int blockForAvailableThreads() {
  25 +// return 1;
  26 +// }
  27 +//
  28 +// @Override
  29 +// public void initialize() throws SchedulerConfigException {
  30 +//
  31 +// }
  32 +//
  33 +// @Override
  34 +// public void shutdown(boolean waitForJobsToComplete) {
  35 +//
  36 +// }
  37 +//
  38 +// @Override
  39 +// public int getPoolSize() {
  40 +// return 1;
  41 +// }
  42 +//
  43 +// @Override
  44 +// public void setInstanceId(String schedInstId) {
  45 +//
  46 +// }
  47 +//
  48 +// @Override
  49 +// public void setInstanceName(String schedName) {
  50 +//
  51 +// }
  52 +//
  53 +// // support
  54 +// public void setThreadCount(int count) {
  55 +// //
  56 +// }
  57 +//
  58 +//}
... ...