一、使用若依自带的定时任务
1.首先创建定时任务类
@Component("myTask")
public class MyTask {
public void Task(){
System.out.println("定时任务");
}
}
2.然后需要运行项目,接着在系统监控中的定时任务进行设置
在调用方法中有两种写法
(1)类名首字母小写.方法名
(2)包名.类名.方法名
执行策略:(若8-9点半个小时执行一次,在8点宕机了,9:15好了)
(1)立即执行:分别执行8:30 、9的任务
(2)执行一次:只是执行8-9最后一个去执行
(3)放弃执行:8-9点服务器宕机期间不执行,只是执行最新的9:15之后的
是否并发:比如有两个任务A B,如果A是退回商品,B是退钱,那么应该先退回商品之后才能退钱,所以这里就是禁止
二、手动定时任务
使用@Scheduled cron的表达式来进行手动定时任务,方法更灵活,可以添加定时任务具体的方法。
@Component
public class Task {
@Autowired
private IInterviewsService interviewsService;
@Scheduled(cron = "0 0 0 1/30 * ?")
//@Scheduled(cron = "0/30 * * * * ?")
public void Task(){
System.out.println("定时任务开始了");
//30天的记录
interviewsService.deleteByDate();
System.out.println("定时任务已经执行,删除了超过"+30+"天以前的面试记录。");
}
}