init
This commit is contained in:
parent
65243e7649
commit
51259d8c8e
|
@ -1,8 +1,8 @@
|
|||
package com.xxl.controller;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.quartz.JobKey;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
@ -16,8 +16,8 @@ public class IndexController {
|
|||
|
||||
@RequestMapping("index")
|
||||
public String index(Model model) {
|
||||
Set<JobKey> list = DynamicSchedulerUtil.getJobKeys();
|
||||
model.addAttribute("jobList", list);
|
||||
List<Map<String, Object>> jobList = DynamicSchedulerUtil.getJobList();
|
||||
model.addAttribute("jobList", jobList);
|
||||
return "job/index";
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package com.xxl.quartz;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -38,21 +41,30 @@ public final class DynamicSchedulerUtil implements InitializingBean {
|
|||
}
|
||||
|
||||
// getJobKeys
|
||||
public static Set<JobKey> getJobKeys(){
|
||||
public static List<Map<String, Object>> getJobList(){
|
||||
List<Map<String, Object>> jobList = new ArrayList<Map<String,Object>>();
|
||||
|
||||
try {
|
||||
String groupName = scheduler.getJobGroupNames().get(0);
|
||||
return scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
|
||||
Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName));
|
||||
if (jobKeys!=null && jobKeys.size()>0) {
|
||||
for (JobKey jobKey : jobKeys) {
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(jobKey.getName(), Scheduler.DEFAULT_GROUP);
|
||||
Trigger trigger = scheduler.getTrigger(triggerKey);
|
||||
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
||||
Map<String, Object> jobMap = new HashMap<String, Object>();
|
||||
jobMap.put("TriggerKey", triggerKey);
|
||||
jobMap.put("Trigger", trigger);
|
||||
jobMap.put("JobDetail", jobDetail);
|
||||
jobList.add(jobMap);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (SchedulerException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void getJobDetail(String triggerKeyName){
|
||||
// TriggerKey : name + group
|
||||
String group = Scheduler.DEFAULT_GROUP;
|
||||
TriggerKey triggerKey = TriggerKey.triggerKey(triggerKeyName, group);
|
||||
|
||||
return jobList;
|
||||
}
|
||||
|
||||
// addJob 新增
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
<title>调度中心</title>
|
||||
<#import "/common/common.macro.ftl" as netCommon>
|
||||
<@netCommon.commonStyle />
|
||||
<!-- DataTables -->
|
||||
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/plugins/datatables/dataTables.bootstrap.css">
|
||||
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini">
|
||||
<div class="wrapper">
|
||||
|
@ -22,22 +25,53 @@
|
|||
<li class="active">使用教程</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content">
|
||||
<div class="callout callout-info">
|
||||
<h4>在线任务:</h4>
|
||||
<#if jobList?exists && jobList?size gt 0>
|
||||
<#list jobList as item>
|
||||
<p>${item}</p>
|
||||
</#list>
|
||||
</#if>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
<section class="content">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="box">
|
||||
<div class="box-header"><h3 class="box-title">任务列表</h3></div>
|
||||
<div class="box-body">
|
||||
<table id="example1" class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>任务ID</th>
|
||||
<th>cron</th>
|
||||
<th>Job类路径</th>
|
||||
<th>简介</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<#if jobList?exists && jobList?size gt 0>
|
||||
<#list jobList as item>
|
||||
<tr>
|
||||
<td>${item['TriggerKey'].name}</td>
|
||||
<td>${item['Trigger'].cronExpression}</td>
|
||||
<td>${item['JobDetail'].jobClass}</td>
|
||||
<td>-</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>任务ID</th>
|
||||
<th>cron</th>
|
||||
<th>Job类路径</th>
|
||||
<th>简介</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<!-- footer -->
|
||||
<@netCommon.commonFooter />
|
||||
|
@ -45,5 +79,14 @@
|
|||
<@netCommon.commonControl />
|
||||
</div>
|
||||
<@netCommon.commonScript />
|
||||
<!-- DataTables -->
|
||||
<script src="${request.contextPath}/static/adminlte/plugins/datatables/jquery.dataTables.min.js"></script>
|
||||
<script src="${request.contextPath}/static/adminlte/plugins/datatables/dataTables.bootstrap.min.js"></script>
|
||||
<!-- page script -->
|
||||
<script>
|
||||
$(function () {
|
||||
$("#example1").DataTable();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue