From eb369ec67e27aad8223e6810e2bcd2340d9ccccb Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Mon, 3 Oct 2016 16:08:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=BB=84,=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/JobInfoController.java | 14 ++++++-- .../admin/controller/JobLogController.java | 15 ++++++--- .../job/admin/core/constant/Constants.java | 32 ------------------- .../admin/core/thread/JobMonitorHelper.java | 6 ++-- .../admin/core/util/DynamicSchedulerUtil.java | 3 ++ .../admin/service/impl/XxlJobServiceImpl.java | 15 ++++++--- .../template/jobinfo/jobinfo.index.ftl | 10 +++--- .../WEB-INF/template/joblog/joblog.index.ftl | 4 +-- 8 files changed, 45 insertions(+), 54 deletions(-) delete mode 100644 xxl-job-admin/src/main/java/com/xxl/job/admin/core/constant/Constants.java diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java index a9d901ab..f46f9056 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java @@ -1,7 +1,8 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.constant.Constants.JobGroupEnum; import com.xxl.job.admin.core.model.ReturnT; +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.IXxlJobGroupDao; import com.xxl.job.admin.service.IXxlJobService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; +import java.util.List; import java.util.Map; /** @@ -19,13 +21,19 @@ import java.util.Map; @Controller @RequestMapping("/jobinfo") public class JobInfoController { - + + @Resource + private IXxlJobGroupDao xxlJobGroupDao; @Resource private IXxlJobService xxlJobService; @RequestMapping public String index(Model model) { - model.addAttribute("JobGroupList", JobGroupEnum.values()); // 任务组列表 + + // 任务组 + List jobGroupList = xxlJobGroupDao.findAll(); + + model.addAttribute("JobGroupList", jobGroupList); return "jobinfo/jobinfo.index"; } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java index 20ffa95f..f5cac1ef 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java @@ -1,9 +1,10 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.constant.Constants.JobGroupEnum; import com.xxl.job.admin.core.model.ReturnT; +import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.IXxlJobGroupDao; import com.xxl.job.admin.dao.IXxlJobInfoDao; import com.xxl.job.admin.dao.IXxlJobLogDao; import com.xxl.job.core.router.HandlerRouter.ActionRepository; @@ -34,15 +35,21 @@ import java.util.Map; public class JobLogController { @Resource - public IXxlJobLogDao xxlJobLogDao; + private IXxlJobGroupDao xxlJobGroupDao; @Resource public IXxlJobInfoDao xxlJobInfoDao; - + @Resource + public IXxlJobLogDao xxlJobLogDao; + @RequestMapping public String index(Model model, String jobGroup, String jobName) { + + // 任务组 + List jobGroupList = xxlJobGroupDao.findAll(); + model.addAttribute("jobGroup", jobGroup); model.addAttribute("jobName", jobName); - model.addAttribute("JobGroupList", JobGroupEnum.values()); + model.addAttribute("JobGroupList", jobGroupList); return "joblog/joblog.index"; } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/constant/Constants.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/constant/Constants.java deleted file mode 100644 index 210a518c..00000000 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/constant/Constants.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.xxl.job.admin.core.constant; - -/** - * job group - * @author xuxueli 2016-1-15 14:23:05 - */ -public class Constants { - - public enum JobGroupEnum{ - defaults("默认"), - waimai("外卖"), - movie("电影"); - private String desc; - private JobGroupEnum(String desc){ - this.desc = desc; - } - public String getDesc() { - return desc; - } - public static JobGroupEnum match(String name){ - if (name==null || name.trim().length()==0) { - return null; - } - for (JobGroupEnum group : JobGroupEnum.values()) { - if (group.name().equals(name)) { - return group; - } - } - return null; - } - } -} diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java index deffff36..52238bf1 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java @@ -1,6 +1,6 @@ package com.xxl.job.admin.core.thread; -import com.xxl.job.admin.core.constant.Constants; +import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobLog; import com.xxl.job.admin.core.util.DynamicSchedulerUtil; @@ -59,8 +59,8 @@ public class JobMonitorHelper { Set emailSet = new HashSet(Arrays.asList(info.getAlarmEmail().split(","))); for (String email: emailSet) { String title = "《调度监控报警-任务调度中心XXL-JOB》"; - String content = MessageFormat.format("任务调度失败, 任务组:{0}, 任务描述:{1}.", - Constants.JobGroupEnum.match(info.getJobGroup()).getDesc(), info.getJobDesc()); + XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(info.getJobGroup()); + String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc()); MailUtil.sendMail(email, title, content, false, null); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java index 472c166b..d04d58d1 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java @@ -4,6 +4,7 @@ import com.xxl.job.admin.core.callback.XxlJobLogCallbackServer; import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.thread.JobRegistryHelper; +import com.xxl.job.admin.dao.IXxlJobGroupDao; import com.xxl.job.admin.dao.IXxlJobInfoDao; import com.xxl.job.admin.dao.IXxlJobLogDao; import com.xxl.job.admin.dao.IXxlJobRegistryDao; @@ -66,12 +67,14 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init public static IXxlJobLogDao xxlJobLogDao; public static IXxlJobInfoDao xxlJobInfoDao; public static IXxlJobRegistryDao xxlJobRegistryDao; + public static IXxlJobGroupDao xxlJobGroupDao; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { DynamicSchedulerUtil.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class); DynamicSchedulerUtil.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class); DynamicSchedulerUtil.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class); + DynamicSchedulerUtil.xxlJobGroupDao = applicationContext.getBean(IXxlJobGroupDao.class); } @Override diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java index 5e41ff26..3a9d90cc 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java @@ -1,9 +1,10 @@ package com.xxl.job.admin.service.impl; -import com.xxl.job.admin.core.constant.Constants.JobGroupEnum; import com.xxl.job.admin.core.model.ReturnT; +import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.util.DynamicSchedulerUtil; +import com.xxl.job.admin.dao.IXxlJobGroupDao; import com.xxl.job.admin.dao.IXxlJobInfoDao; import com.xxl.job.admin.dao.IXxlJobLogDao; import com.xxl.job.admin.dao.IXxlJobLogGlueDao; @@ -31,6 +32,8 @@ import java.util.Map; public class XxlJobServiceImpl implements IXxlJobService { private static Logger logger = LoggerFactory.getLogger(XxlJobServiceImpl.class); + @Resource + private IXxlJobGroupDao xxlJobGroupDao; @Resource private IXxlJobInfoDao xxlJobInfoDao; @Resource @@ -65,8 +68,9 @@ public class XxlJobServiceImpl implements IXxlJobService { String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String glueSource, String glueRemark, String childJobKey) { // valid - if (JobGroupEnum.match(jobGroup) == null) { - return new ReturnT(500, "请选择“任务组”"); + XxlJobGroup group = xxlJobGroupDao.load(jobGroup); + if (group == null) { + return new ReturnT(500, "请选择“执行器”"); } if (!CronExpression.isValidExpression(jobCron)) { return new ReturnT(500, "请输入格式正确的“Cron”"); @@ -153,8 +157,9 @@ public class XxlJobServiceImpl implements IXxlJobService { String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) { // valid - if (JobGroupEnum.match(jobGroup) == null) { - return new ReturnT(500, "请选择“任务组”"); + XxlJobGroup group = xxlJobGroupDao.load(jobGroup); + if (group == null) { + return new ReturnT(500, "请选择“执行器”"); } if (StringUtils.isBlank(jobName)) { return new ReturnT(500, "请输入“任务名”"); diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl index d1369308..7f997933 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl @@ -40,10 +40,10 @@
- 任务组 + 执行器
@@ -115,11 +115,11 @@