在需要执行定时任务的类前面加入注解@EnableScheduling,表示该类是一个定时任务类,也可以直接加在入口函数application.java类的前面。给需要执行定时任务的方法加上注解@Scheduled(cron = "0 0 1 * * ?")表示每天凌晨01:00会执行一次该方法的操作。
/**
* 定时任务
*/
@EnableScheduling
class Timer{
/**
* 每天凌晨01:00运行
*/
@Scheduled(cron = "0 0 1 * * ?")
public void initTimer(){
ExecutorService service = Executors.newCachedThreadPool();
service.submit(new Runnable() {
@Override
public void run() {
// 休眠10秒钟
TimeUnit.MILLISECONDS.sleep(10000);
}
});
service.shutdown();
}
}
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)ÿ