JobInfoController.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.xxl.job.admin.controller;
  2. import com.xxl.job.admin.core.model.XxlJobGroup;
  3. import com.xxl.job.admin.core.model.XxlJobInfo;
  4. import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
  5. import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
  6. import com.xxl.job.admin.core.trigger.TriggerTypeEnum;
  7. import com.xxl.job.admin.dao.XxlJobGroupDao;
  8. import com.xxl.job.admin.service.XxlJobService;
  9. import com.xxl.job.core.biz.model.ReturnT;
  10. import com.xxl.job.core.enums.ExecutorBlockStrategyEnum;
  11. import com.xxl.job.core.glue.GlueTypeEnum;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.ui.Model;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. import javax.annotation.Resource;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * index controller
  22. * @author xuxueli 2015-12-19 16:13:16
  23. */
  24. @Controller
  25. @RequestMapping("/jobinfo")
  26. public class JobInfoController {
  27. @Resource
  28. private XxlJobGroupDao xxlJobGroupDao;
  29. @Resource
  30. private XxlJobService xxlJobService;
  31. @RequestMapping
  32. public String index(Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) {
  33. // 枚举-字典
  34. model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表
  35. model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典
  36. model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典
  37. // 任务组
  38. List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll();
  39. model.addAttribute("JobGroupList", jobGroupList);
  40. model.addAttribute("jobGroup", jobGroup);
  41. return "jobinfo/jobinfo.index";
  42. }
  43. @RequestMapping("/pageList")
  44. @ResponseBody
  45. public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
  46. @RequestParam(required = false, defaultValue = "10") int length,
  47. int jobGroup, String jobDesc, String executorHandler, String filterTime) {
  48. return xxlJobService.pageList(start, length, jobGroup, jobDesc, executorHandler, filterTime);
  49. }
  50. @RequestMapping("/add")
  51. @ResponseBody
  52. public ReturnT<String> add(XxlJobInfo jobInfo) {
  53. return xxlJobService.add(jobInfo);
  54. }
  55. @RequestMapping("/update")
  56. @ResponseBody
  57. public ReturnT<String> update(XxlJobInfo jobInfo) {
  58. return xxlJobService.update(jobInfo);
  59. }
  60. @RequestMapping("/remove")
  61. @ResponseBody
  62. public ReturnT<String> remove(int id) {
  63. return xxlJobService.remove(id);
  64. }
  65. @RequestMapping("/pause")
  66. @ResponseBody
  67. public ReturnT<String> pause(int id) {
  68. return xxlJobService.pause(id);
  69. }
  70. @RequestMapping("/resume")
  71. @ResponseBody
  72. public ReturnT<String> resume(int id) {
  73. return xxlJobService.resume(id);
  74. }
  75. @RequestMapping("/trigger")
  76. @ResponseBody
  77. //@PermessionLimit(limit = false)
  78. public ReturnT<String> triggerJob(int id, String executorParam) {
  79. // force cover job param
  80. if (executorParam == null) {
  81. executorParam = "";
  82. }
  83. JobTriggerPoolHelper.trigger(id, TriggerTypeEnum.MANUAL, -1, null, executorParam);
  84. return ReturnT.SUCCESS;
  85. }
  86. }