新聞中心
介紹一下Spring的定時器功能,它不僅實現(xiàn)起來方便,功能強(qiáng)大,而且在web開發(fā)時正好配合spring框架使用。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)蘭山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Spring支持jdk內(nèi)置的Timer類和Quartz Scheduler
介紹spring的定時器,當(dāng)然要先介紹配置文件applicationContext.xml了。
name="job" class="org.springframework.scheduling.quartz.JobDetailBean"> name="jobClass"> jaoso.news.web.action.JobAction value> - property>
name="jobDataAsMap"> key="timeout"> 10 value> - entry>
- map>
- property>
- bean>
說明:org.springframework.scheduling.quartz.JobDetailBean是spring對你的類進(jìn)行調(diào)度的代理,在jobClass中要指定你的任務(wù)類(com.yangsq.web.action.JobAction),在jobDataAsMap中向你的任務(wù)類中注入一些信息,當(dāng)然也可以reference一個,不要忘記在你的任務(wù)里加入這些屬性及set方法(有些羅嗦)。
timeout屬性設(shè)定了當(dāng)服務(wù)器啟動后過10秒鐘首次調(diào)用你的JobAction。
id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> name="jobDetail"> - bean="job"/>
- property>
name="cronExpression"> 0 0/2 * * * ? value> - property>
- bean>
說明:org.springframework.scheduling.quartz.CronTriggerBean是spring提供的觸發(fā)器,在這個觸發(fā)器中設(shè)定了要觸發(fā)的job(jobDetail屬性設(shè)定了先前定義的bean),同時設(shè)定了觸發(fā)時間(cronExpression)---每隔兩分鐘(0 0/2 * * * ?),這個的設(shè)定方式最后會說明。
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
-
-
name="triggers">
-
-
-
- local="cronTrigger"/>
-
- list>
-
- property>
-
- bean>
說明:org.springframework.scheduling.quartz.SchedulerFactoryBean這是一個spring的工廠bean,在他的triggers屬性列表中加入剛才定義的觸發(fā)器,這里可以定義多個觸發(fā)器(list嘛)。
好了,配置文件就介紹完了,該介紹com.yangsq.web.action.JobAction類了,
引入包:
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.springframework.scheduling.quartz.QuartxJobBean;
說明:QuartzJobBean是spring自帶的,把spring的jar包加入就行了,但是前兩個包要去下了,呵呵,google吧。
- public class JobAction extends QuartzJobBean{
- private int timeout;
-
- public void setTimeout(int timeout) {
- this.timeout = timeout;
- }
當(dāng)然要繼承QuartzJobBean了,但是光extends不行,必須要重載他的executeInternal方法
- protected void executeInternal (JobExecutionContext ctx)
-
- throws JobExecutionException{
- //加入你的任務(wù)
- }
- }
好了,一個spring的時間調(diào)度完成了。
附:時間配置說明
sping定時器的時間配置十分強(qiáng)大,下面將介紹如何進(jìn)行配置。
【編輯推薦】
- 用Spring framework實現(xiàn)定時器功能
- Spring定時器的兩種實現(xiàn)方式
本文名稱:透視Spring定時器相關(guān)功能
文章路徑:http://fisionsoft.com.cn/article/codhhsj.html


咨詢
建站咨詢
