簡單兩步,實現在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秒執行一次。結束。");
}
}