java中如何用Quartz框架设置只有一个定时任务但是可以多个
2017-07-25 本文已影响68人
程序员小哥哥
有时候,我们用quartz有这样的需求,在保存定时任务的表中增加一列,是一个定时任务,一个触发的时间,然后根据你设置的时间会执行定时任务。但是,当我设置多个时间的话,我不可能每次一个一个设置,一个一个保存到数据库(这里针对于页面交互型的,而不是配置文件设置的形式),这样的话太繁琐,那怎么解决呢?
页面效果:
设置界面
数据库保存之后的形式
20170110110204636.png这里可以根据设置的时间可以看出设置形式,页面交互的话转换成这种形式即可。
代码:
String[] time = task.split(",");//前台传递过来的多条时间
String hour = "";
String minute = "";
for (int i = 0; i < time.length; i++) {
String one[] = time[i].split(":");
hour+=one[0]+",";
minute+=one[1]+",";
}
hour = hour.substring(0,hour.length()-1);
minute = minute.substring(0,minute.length()-1);
express = minute+" "+hour;
cron = "0 "+express+" ? *"+" "+newName;
scheduleJobVo.setCronExpression(cron);//把设置好的expression保存到数据库