Quartz的基本概念和配置已经在上一篇中具体说明了。
本次看看如何实现。
(1)数据模型---JobModel。
页面录入,最后会保存在数据库中。
public class JobModel extends BaseEntity<Long> {
private static final long serialVersionUID = -2458935535811207209L;
//job名
private String jobName;
//job描述
private String description;
//cron表达式
private String cron;
//springBeanName
private String springBeanName;
//方法名
private String methodName;
private int status;
}
(2)saveJob的实现
1、检查JobModel---确认是否含有无参方法,没有则抛出异常
2、创建Job
3、创建cronTrigger
4、修改或注册任务和定时器
5、数据库保存Job
public void saveJob(JobModel jobModel) {
checkJobModel(jobModel);
//1、创建job
String name = jobModel.getJobName();
JobKey jobKey = JobKey.jobKey(name);
JobDetail jobDetail = JobBuilder.newJob(SpringBeanJob.class).storeDurably()
.withDescription(jobModel.getDescription()).withIdentity(job