使用@Scheduled注解
在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置
新建schedule包,新建ScheduledTasks.java
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
public class ScheduledTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
//Execute the annotated method with a fixed period between invocations.
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
//执行任务调度方法:
System.out.println("现在时间:" + dateFormat.format(new Date()));
}
}
测试结果
但是项目中一般不这么用,分布式架构会产生幂等性问题,大项目都有专门的任务调度平台
其次函数执行失败没有容错机制