一、背景
最近項目中需要使用到定時任務進行庫存占用釋放的需求,就總結了如何使用Spring Task進行簡單配置完成該需求,本文介紹Spring3.0以後自定義開發的定時任務工具,
spring task,我們可以将它比作一個輕量級的Quartz,使用簡單友善,除spring相關的包外不需要額外的包,而且支援注解和配置檔案兩種形式,下面我會分别介紹這兩種方式。
二、定時任務開發步驟
開發環境
Spring 4.2.6.RELEASE
Maven 3.3.9
Jdk 1.7
Idea 15.04
【1】.基于配置檔案
1.編寫普通java class
2.在spring配置檔案頭中添加命名空間及描述(下面加粗處)并配置定時任務
【2】基于注解
我們可以使用@Scheduled注解進行開發,首先我們看下,該注解的源碼
可以看出該注解有五個方法或者叫參數,分别表示的意思是:
cron:指定cron表達式
zone:官方文檔解釋:A time zone for which the cron expression will be resolved。指定cron表達式運作的時區
fixedDelay:官方文檔解釋:An interval-based trigger where the interval is measured from the completion time of the previous task. The time unit value is measured in milliseconds.即表示從上一個任務完成開始到下一個任務開始的間隔,機關是毫秒。
fixedRate:官方文檔解釋:An interval-based trigger where the interval is measured from the start time of the previous task. The time unit value is measured in milliseconds.即從上一個任務開始到下一個任務開始的間隔,機關是毫秒。
1.編寫注解的定時任務類
2.在spring配置檔案頭中添加命名空間及描述(下面加粗處)并開啟定時任務注解驅動
以上我們就完成了基于注解的定時任務的開發,是不是很簡單?
運作結果:
三、總結
其實有些知識我們表面上看起來很難,但是當我們實際操作的時候,發現挺簡單的,隻要遇到問題我們勤思考多思考,就一定會有解決辦法。關于定時任務,還有一種基于Spring Quartz的實作,以後有需要,我們再進行介紹。歡迎留言交流.......