SpringBoot可以设置定时任务,相当于设置一个定时器,程序会按照设置的时间来定时执行任务
今天用到了定时器,记录一下。。
首先在启动类上加上@EnableScheduling注解,开启定时任务。
之后定义一个类来实现这个任务
在类上加@Component注解将它配置到ioc容器中,并且方法上需要添加@Scheduled注解
fixedRate表示每多长时间一次,比如不论任务执行花费了多少时间。都是1分钟执行1次;
fixedDelay是当任务执行完毕后1分钟在执行。
@Component
@Slf4j
public class Tasks {
@Scheduled(fixedRate = 1000 * 60 * 60 * 3)//每隔三小时执行一次
public void task() {
xxx...
}
}