Bladeren bron

任务组,改为执行器

xueli.xue 9 jaren geleden
bovenliggende
commit
eb369ec67e

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

@@ -1,7 +1,8 @@
1 1
 package com.xxl.job.admin.controller;
2 2
 
3
-import com.xxl.job.admin.core.constant.Constants.JobGroupEnum;
4 3
 import com.xxl.job.admin.core.model.ReturnT;
4
+import com.xxl.job.admin.core.model.XxlJobGroup;
5
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
5 6
 import com.xxl.job.admin.service.IXxlJobService;
6 7
 import org.springframework.stereotype.Controller;
7 8
 import org.springframework.ui.Model;
@@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
10 11
 import org.springframework.web.bind.annotation.ResponseBody;
11 12
 
12 13
 import javax.annotation.Resource;
14
+import java.util.List;
13 15
 import java.util.Map;
14 16
 
15 17
 /**
@@ -19,13 +21,19 @@ import java.util.Map;
19 21
 @Controller
20 22
 @RequestMapping("/jobinfo")
21 23
 public class JobInfoController {
22
-	
24
+
25
+	@Resource
26
+	private IXxlJobGroupDao xxlJobGroupDao;
23 27
 	@Resource
24 28
 	private IXxlJobService xxlJobService;
25 29
 	
26 30
 	@RequestMapping
27 31
 	public String index(Model model) {
28
-		model.addAttribute("JobGroupList", JobGroupEnum.values());			// 任务组列表
32
+
33
+		// 任务组
34
+		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
35
+
36
+		model.addAttribute("JobGroupList", jobGroupList);
29 37
 		return "jobinfo/jobinfo.index";
30 38
 	}
31 39
 	

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

@@ -1,9 +1,10 @@
1 1
 package com.xxl.job.admin.controller;
2 2
 
3
-import com.xxl.job.admin.core.constant.Constants.JobGroupEnum;
4 3
 import com.xxl.job.admin.core.model.ReturnT;
4
+import com.xxl.job.admin.core.model.XxlJobGroup;
5 5
 import com.xxl.job.admin.core.model.XxlJobInfo;
6 6
 import com.xxl.job.admin.core.model.XxlJobLog;
7
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
7 8
 import com.xxl.job.admin.dao.IXxlJobInfoDao;
8 9
 import com.xxl.job.admin.dao.IXxlJobLogDao;
9 10
 import com.xxl.job.core.router.HandlerRouter.ActionRepository;
@@ -34,15 +35,21 @@ import java.util.Map;
34 35
 public class JobLogController {
35 36
 
36 37
 	@Resource
37
-	public IXxlJobLogDao xxlJobLogDao;
38
+	private IXxlJobGroupDao xxlJobGroupDao;
38 39
 	@Resource
39 40
 	public IXxlJobInfoDao xxlJobInfoDao;
40
-	
41
+	@Resource
42
+	public IXxlJobLogDao xxlJobLogDao;
43
+
41 44
 	@RequestMapping
42 45
 	public String index(Model model, String jobGroup, String jobName) {
46
+
47
+		// 任务组
48
+		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
49
+
43 50
 		model.addAttribute("jobGroup", jobGroup);
44 51
 		model.addAttribute("jobName", jobName);
45
-		model.addAttribute("JobGroupList", JobGroupEnum.values());
52
+		model.addAttribute("JobGroupList", jobGroupList);
46 53
 		return "joblog/joblog.index";
47 54
 	}
48 55
 

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

@@ -1,32 +0,0 @@
1
-package com.xxl.job.admin.core.constant;
2
-
3
-/**
4
- * job group
5
- * @author xuxueli 2016-1-15 14:23:05
6
- */
7
-public class Constants {
8
-	
9
-	public enum JobGroupEnum{
10
-		defaults("默认"),
11
-		waimai("外卖"),
12
-		movie("电影");
13
-		private String desc;
14
-		private JobGroupEnum(String desc){
15
-			this.desc = desc;
16
-		}
17
-		public String getDesc() {
18
-			return desc;
19
-		}
20
-		public static JobGroupEnum match(String name){
21
-			if (name==null || name.trim().length()==0) {
22
-				return null;
23
-			}
24
-			for (JobGroupEnum group : JobGroupEnum.values()) {
25
-				if (group.name().equals(name)) {
26
-					return group;
27
-				}
28
-			}
29
-			return null;
30
-		}
31
-	}
32
-}

+ 3 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobMonitorHelper.java Bestand weergeven

@@ -1,6 +1,6 @@
1 1
 package com.xxl.job.admin.core.thread;
2 2
 
3
-import com.xxl.job.admin.core.constant.Constants;
3
+import com.xxl.job.admin.core.model.XxlJobGroup;
4 4
 import com.xxl.job.admin.core.model.XxlJobInfo;
5 5
 import com.xxl.job.admin.core.model.XxlJobLog;
6 6
 import com.xxl.job.admin.core.util.DynamicSchedulerUtil;
@@ -59,8 +59,8 @@ public class JobMonitorHelper {
59 59
 										Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
60 60
 										for (String email: emailSet) {
61 61
 											String title = "《调度监控报警-任务调度中心XXL-JOB》";
62
-											String content = MessageFormat.format("任务调度失败, 任务组:{0}, 任务描述:{1}.",
63
-													Constants.JobGroupEnum.match(info.getJobGroup()).getDesc(), info.getJobDesc());
62
+											XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(info.getJobGroup());
63
+											String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc());
64 64
 											MailUtil.sendMail(email, title, content, false, null);
65 65
 										}
66 66
 									}

+ 3 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java Bestand weergeven

@@ -4,6 +4,7 @@ import com.xxl.job.admin.core.callback.XxlJobLogCallbackServer;
4 4
 import com.xxl.job.admin.core.jobbean.RemoteHttpJobBean;
5 5
 import com.xxl.job.admin.core.model.XxlJobInfo;
6 6
 import com.xxl.job.admin.core.thread.JobRegistryHelper;
7
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
7 8
 import com.xxl.job.admin.dao.IXxlJobInfoDao;
8 9
 import com.xxl.job.admin.dao.IXxlJobLogDao;
9 10
 import com.xxl.job.admin.dao.IXxlJobRegistryDao;
@@ -66,12 +67,14 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
66 67
     public static IXxlJobLogDao xxlJobLogDao;
67 68
     public static IXxlJobInfoDao xxlJobInfoDao;
68 69
     public static IXxlJobRegistryDao xxlJobRegistryDao;
70
+    public static IXxlJobGroupDao xxlJobGroupDao;
69 71
 
70 72
     @Override
71 73
 	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
72 74
 		DynamicSchedulerUtil.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class);
73 75
 		DynamicSchedulerUtil.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class);
74 76
         DynamicSchedulerUtil.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class);
77
+        DynamicSchedulerUtil.xxlJobGroupDao = applicationContext.getBean(IXxlJobGroupDao.class);
75 78
 	}
76 79
     
77 80
 	@Override

+ 10 - 5
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java Bestand weergeven

@@ -1,9 +1,10 @@
1 1
 package com.xxl.job.admin.service.impl;
2 2
 
3
-import com.xxl.job.admin.core.constant.Constants.JobGroupEnum;
4 3
 import com.xxl.job.admin.core.model.ReturnT;
4
+import com.xxl.job.admin.core.model.XxlJobGroup;
5 5
 import com.xxl.job.admin.core.model.XxlJobInfo;
6 6
 import com.xxl.job.admin.core.util.DynamicSchedulerUtil;
7
+import com.xxl.job.admin.dao.IXxlJobGroupDao;
7 8
 import com.xxl.job.admin.dao.IXxlJobInfoDao;
8 9
 import com.xxl.job.admin.dao.IXxlJobLogDao;
9 10
 import com.xxl.job.admin.dao.IXxlJobLogGlueDao;
@@ -32,6 +33,8 @@ public class XxlJobServiceImpl implements IXxlJobService {
32 33
 	private static Logger logger = LoggerFactory.getLogger(XxlJobServiceImpl.class);
33 34
 
34 35
 	@Resource
36
+	private IXxlJobGroupDao xxlJobGroupDao;
37
+	@Resource
35 38
 	private IXxlJobInfoDao xxlJobInfoDao;
36 39
 	@Resource
37 40
 	public IXxlJobLogDao xxlJobLogDao;
@@ -65,8 +68,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
65 68
 			String executorAppname, String executorAddress,	String executorHandler, String executorParam,
66 69
 			int glueSwitch, String glueSource, String glueRemark, String childJobKey) {
67 70
 		// valid
68
-		if (JobGroupEnum.match(jobGroup) == null) {
69
-			return new ReturnT<String>(500, "请选择“任务组”");
71
+		XxlJobGroup group = xxlJobGroupDao.load(jobGroup);
72
+		if (group == null) {
73
+			return new ReturnT<String>(500, "请选择“执行器”");
70 74
 		}
71 75
 		if (!CronExpression.isValidExpression(jobCron)) {
72 76
 			return new ReturnT<String>(500, "请输入格式正确的“Cron”");
@@ -153,8 +157,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
153 157
 			String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) {
154 158
 
155 159
 		// valid
156
-		if (JobGroupEnum.match(jobGroup) == null) {
157
-			return new ReturnT<String>(500, "请选择“任务组”");
160
+		XxlJobGroup group = xxlJobGroupDao.load(jobGroup);
161
+		if (group == null) {
162
+			return new ReturnT<String>(500, "请选择“执行器”");
158 163
 		}
159 164
 		if (StringUtils.isBlank(jobName)) {
160 165
 			return new ReturnT<String>(500, "请输入“任务名”");

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

@@ -40,10 +40,10 @@
40 40
 	    	<div class="row">
41 41
 	    		<div class="col-xs-4">
42 42
 	              	<div class="input-group">
43
-	                	<span class="input-group-addon">任务组</span>
43
+	                	<span class="input-group-addon">执行器</span>
44 44
                 		<select class="form-control" id="jobGroup" >
45 45
                 			<#list JobGroupList as group>
46
-                				<option value="${group}" >${group.desc}</option>
46
+                				<option value="${group.appName}" >${group.title}</option>
47 47
                 			</#list>
48 48
 	                  	</select>
49 49
 	              	</div>
@@ -115,11 +115,11 @@
115 115
          	<div class="modal-body">
116 116
 				<form class="form-horizontal form" role="form" >
117 117
 					<div class="form-group">
118
-						<label for="firstname" class="col-sm-2 control-label">任务组<font color="red">*</font></label>
118
+						<label for="firstname" class="col-sm-2 control-label">执行器<font color="red">*</font></label>
119 119
 						<div class="col-sm-4">
120 120
 							<select class="form-control" name="jobGroup" >
121 121
 		            			<#list JobGroupList as group>
122
-		            				<option value="${group}" >${group.desc}</option>
122
+		            				<option value="${group.appName}" >${group.title}</option>
123 123
 		            			</#list>
124 124
 		                  	</select>
125 125
 						</div>
@@ -207,7 +207,7 @@ public class DemoGlueJobHandler extends IJobHandler {
207 207
          	<div class="modal-body">
208 208
 				<form class="form-horizontal form" role="form" >
209 209
 					<div class="form-group">
210
-                        <label for="firstname" class="col-sm-2 control-label">任务组<font color="red">*</font></label>
210
+                        <label for="firstname" class="col-sm-2 control-label">执行器<font color="red">*</font></label>
211 211
                         <div class="col-sm-4">
212 212
 							<input type="text" class="form-control jobGroupTitle" maxlength="50" readonly >
213 213
 						</div>

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

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