在Spring Boot中使用@Scheduled實現定時任務

在Spring Boot中使用@Scheduled實現定時任務

以前沒有使用Spring Boot的Java風格配置的時候,用XML配置過@Scheduled定時任務,如今都習慣使用Java風格配置了,在此簡單記錄 
一下Spring Boot的@Scheduled定時任務的實現過程。ide

1. 添加@EnableScheduling註解到入口類聲明上面,以下所示:

@SpringBootApplication
@EnableScheduling
public class FooApplication extends SpringBootServletInitializer{
    ...
}

 

2. 將@Scheduled添加到不帶參數的方法上,以下所示:

@Component
public class ScheduleTaskService implements IScheduleTaskService {

    @Override
    @Scheduled(fixedRate = 6000)
    public void autosync() {
        System.out.print(".");
    }

}

 

其中@Scheduled註解後面括號裏面能夠指定各類參數,在上面代碼裏面的fixedRate = 6000意思是下面的任務每隔6000毫秒,即每隔6秒執行一次。 
下面簡單提一下cron表達式,舉個例子:spa

@Scheduled(cron = "0 0 3 * * ?")  //天天凌晨3:00執行任務

 

cron表達式中各時間元素使用空格進行分割,分別表示以下含義:
按順序依次爲
秒(0~59)
分鐘(0~59)
小時(0~23)
天(月)(0~31,可是你須要考慮你月的天數)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)code

相關文章
相關標籤/搜索