本篇內(nèi)容主要講解“怎么通過spring做調(diào)度任務(wù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習“怎么通過spring做調(diào)度任務(wù)”吧!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了廈門免費建站歡迎大家使用!構(gòu)建工程
創(chuàng)建一個Springboot工程,在它的程序入口加上@EnableScheduling開啟調(diào)度任務(wù)。
@SpringBootApplication @EnableScheduling public class SpringbootSchedulingTasksApplication { public static void main(String[] args) { SpringApplication.run(SpringbootSchedulingTasksApplication.class, args); } }
創(chuàng)建定時任務(wù)
創(chuàng)建一個定時任務(wù),每過5s在控制臺打印當前時間。
@Component public class ScheduledTasks { private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 5000) public void reportCurrentTime() { log.info("The time is now {}", dateFormat.format(new Date())); } }
通過在方法上加@Scheduled注解,表明該方法是一個調(diào)度任務(wù)。 @Scheduled(fixedRate = 5000) :上一次開始執(zhí)行時間點之后5秒再執(zhí)行 @Scheduled(fixedDelay = 5000) :上一次執(zhí)行完畢時間點之后5秒再執(zhí)行 @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延遲1秒后執(zhí)行,之后按fixedRate的規(guī)則每5秒執(zhí)行一次 @Scheduled(cron=” /5 “) :通過cron表達式定義規(guī)則,什么是cro表達式,自行搜索引擎。 測試 啟動springboot工程,控制臺沒過5s就打印出了當前的時間。
2017-04-29 17:39:37.672 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:37 2017-04-29 17:39:42.671 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:42 2017-04-29 17:39:47.672 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:47 2017-04-29 17:39:52.675 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:52
到此,相信大家對“怎么通過spring做調(diào)度任務(wù)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習!