Spring3 0的任務排程《轉》

2021-09-01 15:44:41 字數 1447 閱讀 3480

spring security 3.0系列開發出來的時間並不長,不過目前已經有許多專案整合進入了spring security 3.0,原因是確實比2.0系列有了不上改進,不過目前關於spring security 3.0的中文開發文件和書籍太少了,下面張老師為大家介紹spring security 3.0的任務排程。

spring3.0以後,自己已經完全支援更加精確的時間,而不需要quartz(quartz是乙個開放原始碼專案,專注於任務排程器,提供了極為廣泛的特性如持久化任務,集群和分布式任務等。spring對quartz的整合與其對jdk timer的整合在任務、觸發器和排程計畫的宣告式配置方面等都非常相似。

)的支援:當然後面我們也會用quartz實現任務的排程。

spring3.0同樣也使用cron表示式。與quartz不同的是,spring3.0不支援年,而quartz支援年。但這點好象並不是非常重要。

cron表示式:-是用空格分開的時間字段,不使用年。

*(秒0-59) *(分鐘0-59) *(小時0-23) *(日期1-31) *(月份1-12或是jan-dec) *(星期1-7或是sun-sat)

示例:*/5 * * * * 6-7 :: 每個周6到週日,每隔5秒鐘執行一次。

*/1 * * 7-9 1-2 1-7 :: 1月到2月中的7號到9號,且必須要滿足周一到週日,每隔1秒鐘執行一次。

*/1 * * 7-9 1,5 1-7 :: 注意裡面的,(逗號),只有1月和5月的7到9號,且必須要滿足周一到週日,每一秒鐘執行一次。

*/1 17-59 * 7-9 1,5 1-7 :: 只解釋17-59,是指從第17分鐘到第59分鐘,在指定的時間內,每一秒種執行一次

* 17-59 * 7-9 1,5 1-7 :: 此**的功能與上面完全相同。如果不寫秒即為每一秒執行一次。

59 19-23 * 7-9 1,5 1-7 :: 19分-23分的每59秒鐘時只執行一次。

59 19,26 * 7-9 1,5 1-7 :: 注意裡面的,(逗號),是指只有19分或是26分的56秒鐘時執行一次。

* * 16-23 7-9 1,5 1-7 :: 定義每天的16點到23點每一秒鐘執行一次。

59 59 23 * * 1-5 :: 定義每週1到周5,晚上23:59:59秒只執行一次。這個相當用有。可以工作時間每天給使用者發郵件。

在spring3.0中引用了新的命名空間-task:

task:scheduler 用於定義乙個threadpooltaskscheduler,並可以指定執行緒池的大小,即pool-size.所有任務佇列都將會在指定大小的執行緒池中執行:

定義如下:

用法1:

用法2:

注意:命名空間需要引入

xmlns:task=""

schemalocation中引入 /spring-task-3.0.xsd

定義好之後,正常啟動容器即可,只有條件符合,即會按要求執行任務。

引用:

spring3 0設定定時任務

今天做個小需求,需要用到定時器。就把以前寫過的配置檔案模板直接複製過來,又順手點進去看了一下原始碼,發現time ctorybean scheduledtimertask都已經被標記成 deprecated了 deprecated public class time ctorybean implem...

Spring3 0實現REST例項

關於rest是什麼東西,在這裡我就不再多說,大家可以去看看介紹,直接切入主題 這是乙個rest風格的訪問,spring從3.0開始將全面支援rest。不得不感嘆spring的強悍。專案結構 第一步永遠是配置,使用框架永遠都是先有配置,在web.xml中的配置 第三步 具體實現類 index.jsp頁...

spring3 0學習之環境搭建

最近搞定了專案,工作終於松了下來,回頭整理一下spring學習的資料,記錄於此,不足之處,希望大家不吝賜教。關於這一塊的討論,希望大家關注qq討論群 spring原始碼研究群 64606455,綜合技術討論群 178547149 contextconfiglocation web inf sprin...