自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

透視Spring定時器相關(guān)功能

開發(fā) 后端
本篇文章主要給大家解釋下Spring定時器,并附于圖片方便大家理解。

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

Spring支持jdk內(nèi)置的Timer類和Quartz Scheduler

介紹spring的定時器,當然要先介紹配置文件applicationContext.xml了。

  1. <bean name="job" class="org.springframework.scheduling.quartz.JobDetailBean"> 
  2.  
  3.      <property name="jobClass"> 
  4.  
  5.          <value>jaoso.news.web.action.JobActionvalue> 
  6.  
  7.      property> 
  8.  
  9.      <property name="jobDataAsMap"> 
  10.  
  11.          <map> 
  12.  
  13.              <entry key="timeout"> 
  14.  
  15.                  <value>10value> 
  16.  
  17.               entry> 
  18.  
  19.          map> 
  20.  
  21.      property> 
  22.  
  23. bean> 
  24.  

說明:org.springframework.scheduling.quartz.JobDetailBean是spring對你的類進行調(diào)度的代理,在jobClass中要指定你的任務(wù)類(com.yangsq.web.action.JobAction),在jobDataAsMap中向你的任務(wù)類中注入一些信息,當然也可以reference一個,不要忘記在你的任務(wù)里加入這些屬性及set方法(有些羅嗦)。

timeout屬性設(shè)定了當服務(wù)器啟動后過10秒鐘首次調(diào)用你的JobAction。

  1. <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
  2.  
  3.      <property name="jobDetail"> 
  4.  
  5.          <ref bean="job"/> 
  6.  
  7.      property> 
  8.  
  9.      <property name="cronExpression"> 
  10.  
  11.          <value>0 0/2 * * * ?value> 
  12.  
  13.      property> 
  14.  
  15. bean> 
  16.  

 

說明:org.springframework.scheduling.quartz.CronTriggerBean是spring提供的觸發(fā)器,在這個觸發(fā)器中設(shè)定了要觸發(fā)的job(jobDetail屬性設(shè)定了先前定義的bean),同時設(shè)定了觸發(fā)時間(cronExpression)---每隔兩分鐘(0 0/2 * * * ?),這個的設(shè)定方式最后會說明。

 

  1. <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
  2.  
  3.      <property name="triggers"> 
  4.  
  5.          <list> 
  6.  
  7.              <ref local="cronTrigger"/> 
  8.  
  9.          list> 
  10.  
  11.      property> 
  12.  
  13. bean> 

 

說明:org.springframework.scheduling.quartz.SchedulerFactoryBean這是一個spring的工廠bean,在他的triggers屬性列表中加入剛才定義的觸發(fā)器,這里可以定義多個觸發(fā)器(list嘛)。

 

好了,配置文件就介紹完了,該介紹com.yangsq.web.action.JobAction類了,

 

引入包:

 

  1. import org.quartz.JobExecutionContext;  
  2. import org.quartz.JobExecutionException;  
  3. import org.springframework.scheduling.quartz.QuartxJobBean; 

說明:QuartzJobBean是spring自帶的,把spring的jar包加入就行了,但是前兩個包要去下了,呵呵,google吧。

 

 

 

  1. public class JobAction extends QuartzJobBean{  
  2.  private int timeout;  
  3.  
  4. public void setTimeout(int timeout) {  
  5.     this.timeout = timeout;  

 

當然要繼承QuartzJobBean了,但是光extends不行,必須要重載他的executeInternal方法

 

  1. protected void executeInternal (JobExecutionContext ctx)   
  2.  
  3. throws JobExecutionException{  
  4.     //加入你的任務(wù)  
  5. }  

 

好了,一個spring的時間調(diào)度完成了。

 

附:時間配置說明

 

sping定時器的時間配置十分強大,下面將介紹如何進行配置。

【編輯推薦】

  1. 用Spring framework實現(xiàn)定時器功能
  2. Spring定時器的兩種實現(xiàn)方式
責任編輯:金賀 來源: JavaEye博客
相關(guān)推薦

2009-06-18 11:07:17

Spring fram

2009-06-15 15:02:48

Spring定時器

2010-07-28 15:56:22

FlexTimer定時

2009-11-11 10:14:10

linux定時器操作系統(tǒng)

2023-01-10 13:53:21

Linux定時器

2022-11-02 11:40:16

Flowable定時器流程

2009-04-12 08:51:50

Symbian諾基亞移動OS

2021-03-31 08:33:17

SysTick定時器SysTick定時器

2013-07-29 10:10:40

TCP協(xié)議TCP定時器TCP

2023-08-02 09:26:03

軟件定時器鴻蒙

2021-04-18 12:12:29

systemd定時器系統(tǒng)運維

2017-03-06 14:08:38

JavaScript單線程setTimeout

2014-12-09 16:30:18

TCP定時器

2023-02-28 18:09:53

Javascript定時器

2021-06-28 06:00:11

systemd定時器系統(tǒng)運維

2023-12-11 09:50:35

Linux定時器

2021-07-27 16:01:29

高并發(fā)定時器高性能

2021-08-11 10:10:26

Linux定時器數(shù)組

2021-08-26 06:29:47

STM32DWT數(shù)據(jù)觀察點觸發(fā)

2021-08-03 14:33:53

cron定時器Linux命令
點贊
收藏

51CTO技術(shù)棧公眾號