spring框架自带的定时任务注解@Scheduled
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
//把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>
@Component
// 开启定时任务的注解,下面这个注解也可以放到springboot的application启动类里
@EnableScheduling
public class tesk {
//设置定时任务周期,fixedRate为以一种固定频率去执行,单位为毫秒,此为5秒
@Scheduled(fixedRate = 5000)
public void job1(){
System.out.println("定时任务1" + new Date());
}
//设置定时任务周期,cron为在以某种频率在某个特定的时间段执行
//格式基本为"秒 分 时 日 月 星期",下面列有一些基本例子
@Scheduled(cron = "0/5 * * * * ?")
public void job2(){
System.out.println("定时任务2" + new Date());
}
}
@Scheduled(cron = “”) 中cron取值实例
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
每隔5分钟执行一次:0 0/5 * * * ?
以上基本来自于此https://www.cnblogs.com/yui66/p/9632885.html
关于corn的详解和简单多线程异步任务可查看https://www.cnblogs.com/zy-l/p/9178704.html
待看:https://www.cnblogs.com/yy3b2007com/p/10483522.html