浏览代码

任务组,改为执行器

xueli.xue 8 年之前
父节点
当前提交
eb369ec67e

+ 11 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java

@@ -1,7 +1,8 @@
 package com.xxl.job.admin.controller;
 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.ReturnT;
+import com.xxl.job.admin.core.model.XxlJobGroup;
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
 import com.xxl.job.admin.service.IXxlJobService;
 import com.xxl.job.admin.service.IXxlJobService;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.ui.Model;
@@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -19,13 +21,19 @@ import java.util.Map;
 @Controller
 @Controller
 @RequestMapping("/jobinfo")
 @RequestMapping("/jobinfo")
 public class JobInfoController {
 public class JobInfoController {
-	
+
+	@Resource
+	private IXxlJobGroupDao xxlJobGroupDao;
 	@Resource
 	@Resource
 	private IXxlJobService xxlJobService;
 	private IXxlJobService xxlJobService;
 	
 	
 	@RequestMapping
 	@RequestMapping
 	public String index(Model model) {
 	public String index(Model model) {
-		model.addAttribute("JobGroupList", JobGroupEnum.values());			// 任务组列表
+
+		// 任务组
+		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
+
+		model.addAttribute("JobGroupList", jobGroupList);
 		return "jobinfo/jobinfo.index";
 		return "jobinfo/jobinfo.index";
 	}
 	}
 	
 	

+ 11 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java

@@ -1,9 +1,10 @@
 package com.xxl.job.admin.controller;
 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.ReturnT;
+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;
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
 import com.xxl.job.admin.dao.IXxlJobInfoDao;
 import com.xxl.job.admin.dao.IXxlJobInfoDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.core.router.HandlerRouter.ActionRepository;
 import com.xxl.job.core.router.HandlerRouter.ActionRepository;
@@ -34,15 +35,21 @@ import java.util.Map;
 public class JobLogController {
 public class JobLogController {
 
 
 	@Resource
 	@Resource
-	public IXxlJobLogDao xxlJobLogDao;
+	private IXxlJobGroupDao xxlJobGroupDao;
 	@Resource
 	@Resource
 	public IXxlJobInfoDao xxlJobInfoDao;
 	public IXxlJobInfoDao xxlJobInfoDao;
-	
+	@Resource
+	public IXxlJobLogDao xxlJobLogDao;
+
 	@RequestMapping
 	@RequestMapping
 	public String index(Model model, String jobGroup, String jobName) {
 	public String index(Model model, String jobGroup, String jobName) {
+
+		// 任务组
+		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
+
 		model.addAttribute("jobGroup", jobGroup);
 		model.addAttribute("jobGroup", jobGroup);
 		model.addAttribute("jobName", jobName);
 		model.addAttribute("jobName", jobName);
-		model.addAttribute("JobGroupList", JobGroupEnum.values());
+		model.addAttribute("JobGroupList", jobGroupList);
 		return "joblog/joblog.index";
 		return "joblog/joblog.index";
 	}
 	}
 
 

+ 0 - 32
xxl-job-admin/src/main/java/com/xxl/job/admin/core/constant/Constants.java

@@ -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;
-		}
-	}
-}

+ 3 - 3
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;
 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.XxlJobInfo;
 import com.xxl.job.admin.core.model.XxlJobLog;
 import com.xxl.job.admin.core.model.XxlJobLog;
 import com.xxl.job.admin.core.util.DynamicSchedulerUtil;
 import com.xxl.job.admin.core.util.DynamicSchedulerUtil;
@@ -59,8 +59,8 @@ public class JobMonitorHelper {
 										Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
 										Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
 										for (String email: emailSet) {
 										for (String email: emailSet) {
 											String title = "《调度监控报警-任务调度中心XXL-JOB》";
 											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);
 											MailUtil.sendMail(email, title, content, false, null);
 										}
 										}
 									}
 									}

+ 3 - 0
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.jobbean.RemoteHttpJobBean;
 import com.xxl.job.admin.core.model.XxlJobInfo;
 import com.xxl.job.admin.core.model.XxlJobInfo;
 import com.xxl.job.admin.core.thread.JobRegistryHelper;
 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.IXxlJobInfoDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.admin.dao.IXxlJobRegistryDao;
 import com.xxl.job.admin.dao.IXxlJobRegistryDao;
@@ -66,12 +67,14 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
     public static IXxlJobLogDao xxlJobLogDao;
     public static IXxlJobLogDao xxlJobLogDao;
     public static IXxlJobInfoDao xxlJobInfoDao;
     public static IXxlJobInfoDao xxlJobInfoDao;
     public static IXxlJobRegistryDao xxlJobRegistryDao;
     public static IXxlJobRegistryDao xxlJobRegistryDao;
+    public static IXxlJobGroupDao xxlJobGroupDao;
 
 
     @Override
     @Override
 	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 		DynamicSchedulerUtil.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class);
 		DynamicSchedulerUtil.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class);
 		DynamicSchedulerUtil.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class);
 		DynamicSchedulerUtil.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class);
         DynamicSchedulerUtil.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class);
         DynamicSchedulerUtil.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class);
+        DynamicSchedulerUtil.xxlJobGroupDao = applicationContext.getBean(IXxlJobGroupDao.class);
 	}
 	}
     
     
 	@Override
 	@Override

+ 10 - 5
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;
 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.ReturnT;
+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.util.DynamicSchedulerUtil;
 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.IXxlJobInfoDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.admin.dao.IXxlJobLogDao;
 import com.xxl.job.admin.dao.IXxlJobLogGlueDao;
 import com.xxl.job.admin.dao.IXxlJobLogGlueDao;
@@ -32,6 +33,8 @@ public class XxlJobServiceImpl implements IXxlJobService {
 	private static Logger logger = LoggerFactory.getLogger(XxlJobServiceImpl.class);
 	private static Logger logger = LoggerFactory.getLogger(XxlJobServiceImpl.class);
 
 
 	@Resource
 	@Resource
+	private IXxlJobGroupDao xxlJobGroupDao;
+	@Resource
 	private IXxlJobInfoDao xxlJobInfoDao;
 	private IXxlJobInfoDao xxlJobInfoDao;
 	@Resource
 	@Resource
 	public IXxlJobLogDao xxlJobLogDao;
 	public IXxlJobLogDao xxlJobLogDao;
@@ -65,8 +68,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
 			String executorAppname, String executorAddress,	String executorHandler, String executorParam,
 			String executorAppname, String executorAddress,	String executorHandler, String executorParam,
 			int glueSwitch, String glueSource, String glueRemark, String childJobKey) {
 			int glueSwitch, String glueSource, String glueRemark, String childJobKey) {
 		// valid
 		// valid
-		if (JobGroupEnum.match(jobGroup) == null) {
-			return new ReturnT<String>(500, "请选择“任务组”");
+		XxlJobGroup group = xxlJobGroupDao.load(jobGroup);
+		if (group == null) {
+			return new ReturnT<String>(500, "请选择“执行器”");
 		}
 		}
 		if (!CronExpression.isValidExpression(jobCron)) {
 		if (!CronExpression.isValidExpression(jobCron)) {
 			return new ReturnT<String>(500, "请输入格式正确的“Cron”");
 			return new ReturnT<String>(500, "请输入格式正确的“Cron”");
@@ -153,8 +157,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
 			String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) {
 			String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) {
 
 
 		// valid
 		// valid
-		if (JobGroupEnum.match(jobGroup) == null) {
-			return new ReturnT<String>(500, "请选择“任务组”");
+		XxlJobGroup group = xxlJobGroupDao.load(jobGroup);
+		if (group == null) {
+			return new ReturnT<String>(500, "请选择“执行器”");
 		}
 		}
 		if (StringUtils.isBlank(jobName)) {
 		if (StringUtils.isBlank(jobName)) {
 			return new ReturnT<String>(500, "请输入“任务名”");
 			return new ReturnT<String>(500, "请输入“任务名”");

+ 5 - 5
xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl

@@ -40,10 +40,10 @@
 	    	<div class="row">
 	    	<div class="row">
 	    		<div class="col-xs-4">
 	    		<div class="col-xs-4">
 	              	<div class="input-group">
 	              	<div class="input-group">
-	                	<span class="input-group-addon">任务组</span>
+	                	<span class="input-group-addon">执行器</span>
                 		<select class="form-control" id="jobGroup" >
                 		<select class="form-control" id="jobGroup" >
                 			<#list JobGroupList as group>
                 			<#list JobGroupList as group>
-                				<option value="${group}" >${group.desc}</option>
+                				<option value="${group.appName}" >${group.title}</option>
                 			</#list>
                 			</#list>
 	                  	</select>
 	                  	</select>
 	              	</div>
 	              	</div>
@@ -115,11 +115,11 @@
          	<div class="modal-body">
          	<div class="modal-body">
 				<form class="form-horizontal form" role="form" >
 				<form class="form-horizontal form" role="form" >
 					<div class="form-group">
 					<div class="form-group">
-						<label for="firstname" class="col-sm-2 control-label">任务组<font color="red">*</font></label>
+						<label for="firstname" class="col-sm-2 control-label">执行器<font color="red">*</font></label>
 						<div class="col-sm-4">
 						<div class="col-sm-4">
 							<select class="form-control" name="jobGroup" >
 							<select class="form-control" name="jobGroup" >
 		            			<#list JobGroupList as group>
 		            			<#list JobGroupList as group>
-		            				<option value="${group}" >${group.desc}</option>
+		            				<option value="${group.appName}" >${group.title}</option>
 		            			</#list>
 		            			</#list>
 		                  	</select>
 		                  	</select>
 						</div>
 						</div>
@@ -207,7 +207,7 @@ public class DemoGlueJobHandler extends IJobHandler {
          	<div class="modal-body">
          	<div class="modal-body">
 				<form class="form-horizontal form" role="form" >
 				<form class="form-horizontal form" role="form" >
 					<div class="form-group">
 					<div class="form-group">
-                        <label for="firstname" class="col-sm-2 control-label">任务组<font color="red">*</font></label>
+                        <label for="firstname" class="col-sm-2 control-label">执行器<font color="red">*</font></label>
                         <div class="col-sm-4">
                         <div class="col-sm-4">
 							<input type="text" class="form-control jobGroupTitle" maxlength="50" readonly >
 							<input type="text" class="form-control jobGroupTitle" maxlength="50" readonly >
 						</div>
 						</div>

+ 2 - 2
xxl-job-admin/src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl

@@ -34,11 +34,11 @@
 	    	<div class="row">
 	    	<div class="row">
 	    		<div class="col-xs-3">
 	    		<div class="col-xs-3">
  					<div class="input-group">
  					<div class="input-group">
-	                	<span class="input-group-addon">任务组</span>
+	                	<span class="input-group-addon">执行器</span>
                 		<select class="form-control" id="jobGroup"  paramVal="${jobGroup}" >
                 		<select class="form-control" id="jobGroup"  paramVal="${jobGroup}" >
                             <option value="" selected>请选择</option>
                             <option value="" selected>请选择</option>
                 			<#list JobGroupList as group>
                 			<#list JobGroupList as group>
-                				<option value="${group}" <#if jobGroup == group && false>selected</#if> >${group.desc}</option>
+                				<option value="${group.appName}" <#if jobGroup == group.appName && false>selected</#if> >${group.title}</option>
                 			</#list>
                 			</#list>
 	                  	</select>
 	                  	</select>
 	              	</div>
 	              	</div>