创建一个简单的定时任务只需要2个注解
- @EnableScheduling
- @Scheduled
创建项目后,在程序入口开启任务调度,也就是加上 @EnableScheduling 注解 ,如下
@SpringBootApplication
@EnableScheduling //开启任务调度
public class TimetaskApplication {
public static void main(String[] args) {
SpringApplication.run(TimetaskApplication.class, args);
}
}
然后就可以创建一个定时任务了
/**
* 创建一个定时任务
*/
@Service
public class TimingTasks {
private static final Logger LOGGER = LoggerFactory.getLogger(TimingTasks.class);
//格式化时间
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Scheduled(fixedRate = 2000)
public void reportCurrentTime(){
LOGGER.info("now time {}",DATE_FORMAT.format(new Date()));
}
}
然后就可以启动程序了
可以看到每隔2秒控制台就会打印一下时间,因为在定时任务上设置了fixedRate = 2000,fixedRate的单位是毫秒,在这里也就是2秒,所有每隔2秒就打印一次,@Scheduled还有其他属性可以自定义