xueli.xue před 9 roky
rodič
revize
9f3dd8b3a1

+ 4 - 4
xxl-job-admin/src/main/java/com/xxl/controller/IndexController.java Zobrazit soubor

@@ -1,8 +1,8 @@
1 1
 package com.xxl.controller;
2 2
 
3
-import java.util.Set;
3
+import java.util.List;
4
+import java.util.Map;
4 5
 
5
-import org.quartz.JobKey;
6 6
 import org.springframework.stereotype.Controller;
7 7
 import org.springframework.ui.Model;
8 8
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,8 +16,8 @@ public class IndexController {
16 16
 	
17 17
 	@RequestMapping("index")
18 18
 	public String index(Model model) {
19
-		Set<JobKey> list = DynamicSchedulerUtil.getJobKeys();
20
-		model.addAttribute("jobList", list);
19
+		List<Map<String, Object>> jobList = DynamicSchedulerUtil.getJobList();
20
+		model.addAttribute("jobList", jobList);
21 21
 		return "job/index";
22 22
 	}
23 23
 	

+ 21 - 9
xxl-job-admin/src/main/java/com/xxl/quartz/DynamicSchedulerUtil.java Zobrazit soubor

@@ -1,6 +1,9 @@
1 1
 package com.xxl.quartz;
2 2
 
3
+import java.util.ArrayList;
3 4
 import java.util.Date;
5
+import java.util.HashMap;
6
+import java.util.List;
4 7
 import java.util.Map;
5 8
 import java.util.Set;
6 9
 
@@ -38,21 +41,30 @@ public final class DynamicSchedulerUtil implements InitializingBean {
38 41
     }
39 42
 	
40 43
 	// getJobKeys
41
-	public static Set<JobKey> getJobKeys(){
44
+	public static List<Map<String, Object>> getJobList(){
45
+		List<Map<String, Object>> jobList = new ArrayList<Map<String,Object>>();
46
+		
42 47
 		try {
43 48
 			String groupName = scheduler.getJobGroupNames().get(0);
44
-			return scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
49
+			Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
50
+			if (jobKeys!=null && jobKeys.size()>0) {
51
+				for (JobKey jobKey : jobKeys) {
52
+			        TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), Scheduler.DEFAULT_GROUP);
53
+			        Trigger trigger = scheduler.getTrigger(triggerKey);
54
+			        JobDetail jobDetail = scheduler.getJobDetail(jobKey);
55
+			        Map<String, Object> jobMap = new HashMap<String, Object>();
56
+			        jobMap.put("TriggerKey", triggerKey);
57
+			        jobMap.put("Trigger", trigger);
58
+			        jobMap.put("JobDetail", jobDetail);
59
+			        jobList.add(jobMap);
60
+				}
61
+			}
62
+			
45 63
 		} catch (SchedulerException e) {
46 64
 			e.printStackTrace();
47 65
 			return null;
48 66
 		}
49
-	}
50
-	
51
-	public static void getJobDetail(String triggerKeyName){
52
-		// TriggerKey : name + group
53
-    	String group = Scheduler.DEFAULT_GROUP;
54
-        TriggerKey triggerKey = TriggerKey.triggerKey(triggerKeyName, group);
55
-        
67
+		return jobList;
56 68
 	}
57 69
 
58 70
 	// addJob 新增

+ 4 - 1
xxl-job-admin/src/main/webapp/WEB-INF/template/job/index.ftl Zobrazit soubor

@@ -29,7 +29,10 @@
29 29
 				<h4>在线任务:</h4>
30 30
 				<#if jobList?exists && jobList?size gt 0>
31 31
 				<#list jobList as item>
32
-				<p>${item}</p>
32
+				<p>${item['TriggerKey']}</p>
33
+				<p>${item['Trigger']}</p>
34
+				<p>${item['Trigger'].cronExpression}</p>
35
+				<p>${item['JobDetail']}</p>
33 36
 				</#list>
34 37
 				</#if>
35 38
             </div>