@Autowired
private ThreadPoolTaskScheduler threadPoolTaskScheduler;
public static ScheduledFuture<?> future = null;
//开启定时任务
public void startCron() {
String cron = "";
String hour= backupTime.split(":")[0];
String minute = backupTime.split(":")[1];
if("1".endsWith(period)){//如果周期是月
//"0 15 10 15 * ?" 每月15日上午10:15触发
cron = "0 "+minute+" "+hour+" 1 * ?";//每月1号触发
}else if("2".endsWith(period)){//如果周期是周
//0 59 2 ? * FRI 每周5凌晨2点59分触发
cron = "0 "+minute+" "+hour+" ? * MON";//每周一触发
}else if("3".endsWith(period)){//如果周期是日
//"0 0 12 * * ?" 每天中午12点触发
cron = "0 "+minute+" "+hour+" * * ?";//每日触发
}
if (future != null) {
future.cancel(true);
}
System.out.println("《==================定时开启时间:"+cron);
//cron="0/15 * * * * *";
future = threadPoolTaskScheduler.schedule(new InitUtil(dataBackupService,logService,0), new CronTrigger(cron));
logService.saveLog("开启数据库自动备份任务", Operation.DATA_BACKUP);
}
//关闭定时任务
public void stopCron() {
if (future != null) {
future.cancel(true);
}
}
转载于:https://my.oschina.net/seayou/blog/1555607