定时器java.util.Timer
这个Timer类里有一个很关键的方法,这里period单位是ms
schedule(TimerTask task,Date firstTime,long period)
//安排指定的任务(task),在指定的时间(firstTime)开始进行重复延迟(period)执行
那任务TimerTask又是什么鬼呢
如下图直接看接口文档。是一个抽象类。
话不多说,直接上我们亲爱的代码,这里要注意的就是,把一个字符串解析为Date
Date firstTime=sdf.parse("2020-03-1 09:30:00")
仔细的话会发现上图schedule()第一个参数是怎么回事??
我们写一个类去继承那个抽象类,实现那个方法。就可以new LogTimerTask(),创建任务了。
在重写的run()方法里去写具体要执行的任务。
cron表达式
//秒 分 时 日 月 周几
//每天的10点15分0秒执行
@Scheduled(Cron="0 15 10 * * ?")
public void hello(){
System.out.println("hello,你被执行了");
}
其他一些有意思的cron表达式
Cron="0 15 10 15 * ?" 每月15日上午10:15触发
Cron="30 0/5 10,18 * * ?" 每天10点和18点,每隔5分钟执行一次