简单两步,实现在spring boot中配置和使用定时器:
1、在入口类中加入@EnableScheduling注解:
@SpringBootApplication
@EnableScheduling
public class MySpringBootApplication {
private static Logger logger = LoggerFactory.getLogger(MySpringBootApplication.class);
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
logger.info("My Spring Boot Application Started");
}
}
2、创建定时器类,类中的方法注解了@Scheduled就是一个定时器:
@Component
public class Scheduler {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Scheduled(cron="0 0/1 * * * ?") //每分钟执行一次
public void statusCheck() {
logger.info("每分钟执行一次。开始……");
//statusTask.healthCheck();
logger.info("每分钟执行一次。结束。");
}
@Scheduled(fixedRate=20000) //fixedRate:执行频率,每隔多少时间就启动任务,不管该任务是否启动完成
public void testTasks() {
logger.info("每20秒执行一次。开始……");
//statusTask.healthCheck();
logger.info("每20秒执行一次。结束。");
}
}