所謂定時任務,就是根據我們設定的時間定時執行任務,就像定時發郵件一樣,設定時間到了,郵件就會自動傳送。 在
spring
大行其道的今天,
spring
也提供了其定時任務功能,
spring
task。同
spring
的其他功能一樣,我們既可以通過配置檔案也可以通過註解形式來實現。
一、通過配置檔案 1
、任務執行類
import org.springframework.stereotype.service;
@service
public class tasktest
}
2、
spring
配置檔案
<?xml version="1.0" encoding="utf-8"?>
. .
.
引數說明:
ref引數
是執行任務
的類,method
是類中需要
執行的方法,cron
執行表示式
表示執行的時間及策略。
二、通過註解 1
、任務執行類
import org.springframework.scheduling.annotation.scheduled;
import org.springframework.stereotype.component;
/** * 定時處理類
* * @author zjj
* @date 2015-6-30
*/@component
public class tasktest
}
這裡需要兩個註解:
@component:將該類完成bean建立和自動依賴注入
@scheduled:將該方法定義為spring定時呼叫的方法,其中cron指該方法執行的時間及策略
2、spring
配置檔案
<?xml version="1.0" encoding="utf-8"?>
總結
兩種方式實現定時任務都是很方便的,但是都存在同乙個問題,定時策略在專案啟動後我們無法動態修改,要修改就需要重啟服務,怎樣做到定時策略動態設定也將是後續解決的問題。
Spring Task定時任務
spring task是spring3.0以後提供的定時任務工具。使用spring定時任務,除spring相關的包外不需要新增額外的jar包,支援註解和xml配置兩種形式。準備工作 在spring配置檔案頭中新增命名空間xmlns task及描述。1.1編寫註解的定時任務類 import org.s...
Spring task定時任務
第一次寫定時任務,簡訊通知定時,雖然寫完了,但是感覺 不夠簡潔,效能不行害怕跑蹦了,放到這裡一是為了記錄,更多的是希望大家提出寶貴的意見。1.將使用者id拼接成字串,用來批量查詢使用者資訊。string memberid membertransactions.stream map membertra...
Spring Task定時任務
1.1.1.使用場景 1.1.2.定時任務對比 實現定時任務的方案如下 1 使用jdk的timer和timertask實現 可以實現簡單的間隔執行任務,無法實現按日曆去排程執行任務。2 使用quartz實現 quartz 是乙個非同步任務排程框架,功能豐富,可以實現按日曆排程。3 使用spring ...