背景:在平常開發中,常常會用到任務調度這類程序。實現方法經常使用的有:A. 經過java.util.Timer、TimerTask實現。 B.經過Spring自帶的SpringTask。 C. 經過Spring結合Quartz實現。本文咱們將講述SpringTask的使用入門方法。java
1、配置spa
A. 引入SpringTask命名空間線程
B. 開啓Spring註解掃描, 將Bean的建立交由Spring進行管理。用於建立Scheduler聲明component
<context:component-scan base-package="com.unben.scheduler" />blog
C. 開啓SpringTask註解驅動。做用:識別Task相關注解,如「@Scheduled」開發
<task:annotation-driven/>博客
D. 建立TreadPoolTaskScheduler實例,並指定該線程池初始大小。it
<task:scheduler id="taskScheduler" pool-size="5" />io
E. SpringTask的觸發器實現方案有兩種, 一種是基於Cron表達式的CronTrigger觸發器, 另外一種是基於接受固定週期的PeriodicTrigger觸發器。在接下來的步驟2、三中咱們將分別講述兩種觸發器的使用方法入門
2、 接受固定週期的PeriodicTrigger觸發器
案例1:
案例2:
配置詳解:
ref=任務調度工做類
method=工做類中具體執行的哪一個方法
initial-delay=初次調度執行前,延時時長。單位:毫秒
fixed-delay=上一次調度完成後,延時多少時間,進行下一次調用。單位:毫秒
fixed-rate=上一次調用開始後,延時多少時間,進行下一次調用。不等待上一次調度完成,單位:毫秒。
3、基於Cron表達式的CronTrigger觸發器
案例3:
案例4:
配置說明:
Cron語法格式:Seconds Minutes Hours DayofMonth Month DayofWeek。
如上案例表示:每隔多少秒鐘執行一次。關於的Cron表達式,將在下一篇博客中詳細說明。