首先第一步肯定是在pom檔案中匯入相關的包。pom.xml:
org.apache.logging.log4j
log4j-core
2.2 org.quartz-scheduler
quartz
2.2.1
在spring中使用quartz有兩種方式實現:第一種是任務類繼承quartzjobbean,第二種則是在配置檔案裡定義任務類和要執行的方法,類和方法可以是普通類。很顯然,第二種方式遠比第一種方式來的靈活,我這裡使用的是第二種配置方式,大家有興趣可以自己試一下第一中配置方式。
先來 spring配置檔案:
對應的 oceanstatusjob實體類:
public class oceanstatusjob
}
ok,這裡給大家解釋下xml檔案的內容。
回想一下之前說過的quartz三個要素:scheduler、trigger、jobdetai&job。對應到xml檔案,也就是上面的中的幾個bean物件。幾個點注意下: 附:
欄位名允許的值
允許的特殊字元
秒0-59
, - * /
分0-59
, - * /
小時0-23
, - * /
日1-31
, - * ? / l w c
月1-12 or jan-dec
, - * /
週幾1-7 or sun-sat
, - * ? / l c #
年 (可選字段)
empty, 1970-2099
, - * /
「?」字元:表示不確定的值
「,」字元:指定數個值
「-」字元:指定乙個值的範圍
「/」字元:指定乙個值的增加幅度。n/m表示從n開始,每次增加m
「l」字元:用在日表示乙個月中的最後一天,用在周表示該月最後乙個星期x
「w」字元:指定離給定日期最近的工作日(周一到周五)
「#」字元:表示該月第幾個周x。6#3表示該月第3個周五
2)cron表示式範例:
每隔5秒執行一次:*/5 * * * * ?
每隔1分鐘執行一次:0 */1 * * * ?
每天23點執行一次:0 0 23 * * ?
每天凌晨1點執行一次:0 0 1 * * ?
每月1號凌晨1點執行一次:0 0 1 1 * ?
每月最後一天23點執行一次:0 0 23 l * ?
每週星期天凌晨1點實行一次:0 0 1 ? * l
在26分、29分、33分執行一次:0 26,29,33 * * * ?
每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ?
Spring中如何使用設計模式
關於設計模式,如果使用得當,將會使我們的 更加簡潔,並且更具擴充套件性。本文主要講解spring中如何使用策略模式,工廠方法模式以及builder模式。關於策略模式的使用方式,在spring中其實比較簡單,從本質上講,策略模式就是乙個介面下有多個實現類,而每種實現類會處理某一種情況。我們以發獎勵為例...
Spring中如何使用設計模式
關於設計模式,如果使用得當,將會使我們的 更加簡潔,並且更具擴充套件性。本文主要講解spring中如何使用策略模式,工廠方法模式以及builder模式。關於策略模式的使用方式,在spring中其實比較簡單,從本質上講,策略模式就是乙個介面下有多個實現類,而每種實現類會處理某一種情況。我們以發獎勵為例...
如何使用Spring的FactoryBean介面
在spring容器中有兩類的bean,一類是普通的bean,一類是工廠bean。這兩種bean都是被spring的容器進行管理的。而spring也提供了乙個介面用於擴充套件工廠bean,我們只要實現org.springframework.beans.factory.factorybean即可。首先我...