提交 6fd7c943 authored 作者: xuxueli's avatar xuxueli

UI以及库中,新增字段 "失败重试次数"

上级 3d15669b
package com.xxl.job.admin.controller; package com.xxl.job.admin.controller;
import com.xxl.job.admin.core.model.XxlJobGroup; 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.route.ExecutorRouteStrategyEnum; import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
import com.xxl.job.admin.dao.XxlJobGroupDao; import com.xxl.job.admin.dao.XxlJobGroupDao;
import com.xxl.job.admin.service.XxlJobService; import com.xxl.job.admin.service.XxlJobService;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.enums.ExecutorBlockStrategyEnum; import com.xxl.job.core.enums.ExecutorBlockStrategyEnum;
import com.xxl.job.core.glue.GlueTypeEnum; import com.xxl.job.core.glue.GlueTypeEnum;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; 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.List;
import java.util.Map; import java.util.Map;
/** /**
* index controller * index controller
* @author xuxueli 2015-12-19 16:13:16 * @author xuxueli 2015-12-19 16:13:16
*/ */
@Controller @Controller
@RequestMapping("/jobinfo") @RequestMapping("/jobinfo")
public class JobInfoController { public class JobInfoController {
@Resource @Resource
private XxlJobGroupDao xxlJobGroupDao; private XxlJobGroupDao xxlJobGroupDao;
@Resource @Resource
private XxlJobService xxlJobService; private XxlJobService xxlJobService;
@RequestMapping @RequestMapping
public String index(Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) { public String index(Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) {
// 枚举-字典 // 枚举-字典
model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表
model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典
model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典
// 任务组 // 任务组
List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll();
model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("JobGroupList", jobGroupList);
model.addAttribute("jobGroup", jobGroup); model.addAttribute("jobGroup", jobGroup);
return "jobinfo/jobinfo.index"; return "jobinfo/jobinfo.index";
} }
@RequestMapping("/pageList") @RequestMapping("/pageList")
@ResponseBody @ResponseBody
public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start, public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
@RequestParam(required = false, defaultValue = "10") int length, @RequestParam(required = false, defaultValue = "10") int length,
int jobGroup, String jobDesc, String executorHandler, String filterTime) { int jobGroup, String jobDesc, String executorHandler, String filterTime) {
return xxlJobService.pageList(start, length, jobGroup, jobDesc, executorHandler, filterTime); return xxlJobService.pageList(start, length, jobGroup, jobDesc, executorHandler, filterTime);
} }
@RequestMapping("/add") @RequestMapping("/add")
@ResponseBody @ResponseBody
public ReturnT<String> add(XxlJobInfo jobInfo) { public ReturnT<String> add(XxlJobInfo jobInfo) {
return xxlJobService.add(jobInfo); return xxlJobService.add(jobInfo);
} }
@RequestMapping("/update") @RequestMapping("/update")
@ResponseBody @ResponseBody
public ReturnT<String> update(XxlJobInfo jobInfo) { public ReturnT<String> update(XxlJobInfo jobInfo) {
return xxlJobService.update(jobInfo); return xxlJobService.update(jobInfo);
} }
@RequestMapping("/remove") @RequestMapping("/remove")
@ResponseBody @ResponseBody
public ReturnT<String> remove(int id) { public ReturnT<String> remove(int id) {
return xxlJobService.remove(id); return xxlJobService.remove(id);
} }
@RequestMapping("/pause") @RequestMapping("/pause")
@ResponseBody @ResponseBody
public ReturnT<String> pause(int id) { public ReturnT<String> pause(int id) {
return xxlJobService.pause(id); return xxlJobService.pause(id);
} }
@RequestMapping("/resume") @RequestMapping("/resume")
@ResponseBody @ResponseBody
public ReturnT<String> resume(int id) { public ReturnT<String> resume(int id) {
return xxlJobService.resume(id); return xxlJobService.resume(id);
} }
@RequestMapping("/trigger") @RequestMapping("/trigger")
@ResponseBody @ResponseBody
public ReturnT<String> triggerJob(int id) { public ReturnT<String> triggerJob(int id) {
return xxlJobService.triggerJob(id); return xxlJobService.triggerJob(id);
} }
} }
package com.xxl.job.admin.core.model; package com.xxl.job.admin.core.model;
import java.util.Date; import java.util.Date;
/** /**
* xxl-job info * xxl-job info
* *
* @author xuxueli 2016-1-12 18:25:49 * @author xuxueli 2016-1-12 18:25:49
*/ */
public class XxlJobInfo { public class XxlJobInfo {
private int id; // 主键ID (JobKey.name) private int id; // 主键ID (JobKey.name)
private int jobGroup; // 执行器主键ID (JobKey.group) private int jobGroup; // 执行器主键ID (JobKey.group)
private String jobCron; // 任务执行CRON表达式 【base on quartz】 private String jobCron; // 任务执行CRON表达式 【base on quartz】
private String jobDesc; private String jobDesc;
private Date addTime; private Date addTime;
private Date updateTime; private Date updateTime;
private String author; // 负责人 private String author; // 负责人
private String alarmEmail; // 报警邮件 private String alarmEmail; // 报警邮件
private String executorRouteStrategy; // 执行器路由策略 private String executorRouteStrategy; // 执行器路由策略
private String executorHandler; // 执行器,任务Handler名称 private String executorHandler; // 执行器,任务Handler名称
private String executorParam; // 执行器,任务参数 private String executorParam; // 执行器,任务参数
private String executorBlockStrategy; // 阻塞处理策略 private String executorBlockStrategy; // 阻塞处理策略
private String executorFailStrategy; // 失败处理策略 private String executorFailStrategy; // 失败处理策略
private int executorTimeout; // 任务执行超时时间,单位秒 private int executorTimeout; // 任务执行超时时间,单位秒
private int executorFailRetryCount; // 失败重试次数 private int executorFailRetryCount; // 失败重试次数
private String glueType; // GLUE类型 #com.xxl.job.core.glue.GlueTypeEnum private String glueType; // GLUE类型 #com.xxl.job.core.glue.GlueTypeEnum
private String glueSource; // GLUE源代码 private String glueSource; // GLUE源代码
private String glueRemark; // GLUE备注 private String glueRemark; // GLUE备注
private Date glueUpdatetime; // GLUE更新时间 private Date glueUpdatetime; // GLUE更新时间
private String childJobId; // 子任务ID,多个逗号分隔 private String childJobId; // 子任务ID,多个逗号分隔
// copy from quartz // copy from quartz
private String jobStatus; // 任务状态 【base on quartz】 private String jobStatus; // 任务状态 【base on quartz】
public int getId() { public int getId() {
return id; return id;
} }
public void setId(int id) { public void setId(int id) {
this.id = id; this.id = id;
} }
public int getJobGroup() { public int getJobGroup() {
return jobGroup; return jobGroup;
} }
public void setJobGroup(int jobGroup) { public void setJobGroup(int jobGroup) {
this.jobGroup = jobGroup; this.jobGroup = jobGroup;
} }
public String getJobCron() { public String getJobCron() {
return jobCron; return jobCron;
} }
public void setJobCron(String jobCron) { public void setJobCron(String jobCron) {
this.jobCron = jobCron; this.jobCron = jobCron;
} }
public String getJobDesc() { public String getJobDesc() {
return jobDesc; return jobDesc;
} }
public void setJobDesc(String jobDesc) { public void setJobDesc(String jobDesc) {
this.jobDesc = jobDesc; this.jobDesc = jobDesc;
} }
public Date getAddTime() { public Date getAddTime() {
return addTime; return addTime;
} }
public void setAddTime(Date addTime) { public void setAddTime(Date addTime) {
this.addTime = addTime; this.addTime = addTime;
} }
public Date getUpdateTime() { public Date getUpdateTime() {
return updateTime; return updateTime;
} }
public void setUpdateTime(Date updateTime) { public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public String getAuthor() { public String getAuthor() {
return author; return author;
} }
public void setAuthor(String author) { public void setAuthor(String author) {
this.author = author; this.author = author;
} }
public String getAlarmEmail() { public String getAlarmEmail() {
return alarmEmail; return alarmEmail;
} }
public void setAlarmEmail(String alarmEmail) { public void setAlarmEmail(String alarmEmail) {
this.alarmEmail = alarmEmail; this.alarmEmail = alarmEmail;
} }
public String getExecutorRouteStrategy() { public String getExecutorRouteStrategy() {
return executorRouteStrategy; return executorRouteStrategy;
} }
public void setExecutorRouteStrategy(String executorRouteStrategy) { public void setExecutorRouteStrategy(String executorRouteStrategy) {
this.executorRouteStrategy = executorRouteStrategy; this.executorRouteStrategy = executorRouteStrategy;
} }
public String getExecutorHandler() { public String getExecutorHandler() {
return executorHandler; return executorHandler;
} }
public void setExecutorHandler(String executorHandler) { public void setExecutorHandler(String executorHandler) {
this.executorHandler = executorHandler; this.executorHandler = executorHandler;
} }
public String getExecutorParam() { public String getExecutorParam() {
return executorParam; return executorParam;
} }
public void setExecutorParam(String executorParam) { public void setExecutorParam(String executorParam) {
this.executorParam = executorParam; this.executorParam = executorParam;
} }
public String getExecutorBlockStrategy() { public String getExecutorBlockStrategy() {
return executorBlockStrategy; return executorBlockStrategy;
} }
public void setExecutorBlockStrategy(String executorBlockStrategy) { public void setExecutorBlockStrategy(String executorBlockStrategy) {
this.executorBlockStrategy = executorBlockStrategy; this.executorBlockStrategy = executorBlockStrategy;
} }
public String getExecutorFailStrategy() { public String getExecutorFailStrategy() {
return executorFailStrategy; return executorFailStrategy;
} }
public void setExecutorFailStrategy(String executorFailStrategy) { public void setExecutorFailStrategy(String executorFailStrategy) {
this.executorFailStrategy = executorFailStrategy; this.executorFailStrategy = executorFailStrategy;
} }
public int getExecutorTimeout() { public int getExecutorTimeout() {
return executorTimeout; return executorTimeout;
} }
public void setExecutorTimeout(int executorTimeout) { public void setExecutorTimeout(int executorTimeout) {
this.executorTimeout = executorTimeout; this.executorTimeout = executorTimeout;
} }
public int getExecutorFailRetryCount() { public int getExecutorFailRetryCount() {
return executorFailRetryCount; return executorFailRetryCount;
} }
public void setExecutorFailRetryCount(int executorFailRetryCount) { public void setExecutorFailRetryCount(int executorFailRetryCount) {
this.executorFailRetryCount = executorFailRetryCount; this.executorFailRetryCount = executorFailRetryCount;
} }
public String getGlueType() { public String getGlueType() {
return glueType; return glueType;
} }
public void setGlueType(String glueType) { public void setGlueType(String glueType) {
this.glueType = glueType; this.glueType = glueType;
} }
public String getGlueSource() { public String getGlueSource() {
return glueSource; return glueSource;
} }
public void setGlueSource(String glueSource) { public void setGlueSource(String glueSource) {
this.glueSource = glueSource; this.glueSource = glueSource;
} }
public String getGlueRemark() { public String getGlueRemark() {
return glueRemark; return glueRemark;
} }
public void setGlueRemark(String glueRemark) { public void setGlueRemark(String glueRemark) {
this.glueRemark = glueRemark; this.glueRemark = glueRemark;
} }
public Date getGlueUpdatetime() { public Date getGlueUpdatetime() {
return glueUpdatetime; return glueUpdatetime;
} }
public void setGlueUpdatetime(Date glueUpdatetime) { public void setGlueUpdatetime(Date glueUpdatetime) {
this.glueUpdatetime = glueUpdatetime; this.glueUpdatetime = glueUpdatetime;
} }
public String getChildJobId() { public String getChildJobId() {
return childJobId; return childJobId;
} }
public void setChildJobId(String childJobId) { public void setChildJobId(String childJobId) {
this.childJobId = childJobId; this.childJobId = childJobId;
} }
public String getJobStatus() { public String getJobStatus() {
return jobStatus; return jobStatus;
} }
public void setJobStatus(String jobStatus) { public void setJobStatus(String jobStatus) {
this.jobStatus = jobStatus; this.jobStatus = jobStatus;
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论