亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

JAVA中 Spring定時器的兩種實現方式

2019-11-26 14:59:08
字體:
來源:轉載
供稿:網友

目前有兩種流行Spring定時器配置:Java的Timer類和OpenSymphony的Quartz。

1.Java Timer定時

首先繼承java.util.TimerTask類實現run方法

import java.util.TimerTask;  public class EmailReportTask extends TimerTask{    @Override    public void run() {      ...    }   }

在Spring定義

...

配置Spring定時器

<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">  <property name="timerTask" ref="reportTimerTask" />  <property name="period">  <value>86400000value>  property>  bean> 

timerTask屬性告訴ScheduledTimerTask運行哪個。86400000代表24個小時

啟動Spring定時器

Spring的TimerFactoryBean負責啟動定時任務

<bean class="org.springframework.scheduling.timer.TimerFactoryBean">  <property name="scheduledTimerTasks">    <list><ref bean="scheduleReportTask"/>list>  property>  bean> 

scheduledTimerTasks里顯示一個需要啟動的定時器任務的列表。

可以通過設置delay屬性延遲啟動  

<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">  <property name="timerTask" ref="reportTimerTask" />  <property name="period">  <value>86400000value>  property>  <property name="delay">  <value>3600000value>  property>  bean>  

這個任務我們只能規定每隔24小時運行一次,無法精確到某時啟動

2.Quartz定時器

首先繼承QuartzJobBean類實現executeInternal方法

import org.quartz.JobExecutionContext;  import org.quartz.JobExecutionException;  import org.springframework.scheduling.quartz.QuartzJobBean;  public class EmailReportJob extends QuartzJobBean{  protected void executeInternal(JobExecutionContext arg0)  throws JobExecutionException {  ...  }  }

在Spring中定義

<bean id="reportJob" class="org.springframework.scheduling.quartz.JobDetailBean">  <property name="jobClass">  <value>EmailReportJobvalue>  property>  <property name="jobDataAsMap">    <map>      <entry key="courseService">        <ref bean="courseService"/>        entry>    map>  property>  bean> 

在這里我們并沒有直接聲明一個EmailReportJob Bean,而是聲明了一個JobDetailBean。這個是Quartz的特點。JobDetailBean是Quartz的org.quartz.JobDetail的子類,它要求通過jobClass屬性來設置一個Job對象。

使用Quartz的JobDetail中的另一個特別之處是EmailReportJob的courseService屬性是間接設置的。JobDetail的jobDataAsMap屬性接受一個Map,包括設置給jobClass的各種屬性,當。JobDetailBean實例化時,它會將courseService Bean注入到EmailReportJob 的courseService 屬性中。

啟動定時器

Quartz的org.quartz.Trigger類描述了何時及以怎樣的頻度運行一個Quartz工作。Spring提供了兩個觸發器SimpleTriggerBean和CronTriggerBean。

SimpleTriggerBean與scheduledTimerTasks類似。指定工作的執行頻度,模仿scheduledTimerTasks配置 .

<bean id="simpleReportTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  <property name="jobDetail" ref="reprotJob" />  <property name="startDelay">  <value>360000value>  property>  <property name="repeatInterval">    <value>86400000value>  property>  bean>

startDelay也是延遲1個小時啟動

CronTriggerBean指定工作的準確運行時間

<bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  <property name="jobDetail" ref="reprotJob" />  <property name="cronExpression">  <value>0 0 6 * * ?value>  property>  bean> 

屬性cronExpression告訴何時觸發。最神秘就是cron表達式:

Linux系統的計劃任務通常有cron來承擔。一個cron表達式有至少6個(也可能7個)有空格分隔的時間元素。從左到右:

1.秒2.分3.小時4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期中的日期(1-7或SUN-SAT)7.年份(1970-2099)
每個元素都顯示的規定一個值(如6),一個區間(9-12),一個列表(9,11,13)或一個通配符(*)。因為4和6這兩個元素是互斥的,因此應該通過設置一個問號(?)來表明不想設置的那個字段,“/”如果值組合就表示重復次數(10/6表示每10秒重復6次)。

啟動定時器

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">    <property name="triggers">      <list><ref bean="cronReportTrigger"/>list>    property>  bean> 

triggers屬性接受一組觸發器。

好了,本文內容到此結束了,寫的還不錯吧,有不足之處,歡迎各位大俠提出寶貴意見。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线一区二区三区免费视频| 亚洲欧美视频在线| 国产精品中文在线| 日韩免费在线播放| 中文国产成人精品久久一| 菠萝蜜影院一区二区免费| 国产午夜精品麻豆| 国产精品精品久久久| 国产日产欧美精品| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲精品一区二区在线| 日本欧美一级片| 国产午夜精品全部视频播放| 国产视频亚洲视频| 国产精品伦子伦免费视频| 亚洲乱码国产乱码精品精| 亚洲人成啪啪网站| 久久精品亚洲94久久精品| 日韩黄色高清视频| 日本一区二三区好的精华液| 国产黑人绿帽在线第一区| 成人免费视频xnxx.com| 国产精品自拍视频| 尤物yw午夜国产精品视频明星| 欧美日韩国产区| 久久久亚洲精选| 国产精品成av人在线视午夜片| 97久久精品国产| 欧美激情一级二级| 一区二区三区美女xx视频| 91av视频在线观看| 国产精品91一区| 欧美激情中文网| 国模视频一区二区| 26uuu另类亚洲欧美日本老年| 日韩中文字幕在线免费观看| 欧美美女操人视频| 国产在线视频不卡| 91超碰中文字幕久久精品| 国产精品中文久久久久久久| 国产精品www网站| 日韩成人激情影院| 午夜精品久久17c| 欧美乱妇高清无乱码| 97香蕉久久夜色精品国产| www.亚洲人.com| 国内精品一区二区三区| 一本一本久久a久久精品综合小说| 91精品久久久久久| 国产精品欧美在线| 亚洲精品国产拍免费91在线| 欧美裸体xxxx极品少妇| 久久欧美在线电影| 国产精品美女呻吟| 欧美亚洲成人xxx| 国产欧美日韩免费看aⅴ视频| 日韩精品免费视频| 亚洲精品国精品久久99热| 亚洲free性xxxx护士hd| 国产日韩欧美成人| 欧美大尺度激情区在线播放| 国外成人免费在线播放| 国产欧美日韩中文字幕| 欧洲一区二区视频| 91精品在线影院| 日本亚洲欧美成人| 狠狠色噜噜狠狠狠狠97| 久久精品亚洲精品| 亚洲字幕在线观看| 97视频网站入口| 色偷偷偷亚洲综合网另类| 欧洲亚洲女同hd| 久久久久久久久久婷婷| 精品二区三区线观看| 国产成人jvid在线播放| 久久国产精品久久精品| 久久综合网hezyo| 国产91精品网站| 日韩在线免费av| 91系列在线观看| 日本韩国在线不卡| 欧美午夜精品久久久久久浪潮| 热99在线视频| 亚洲色图欧美制服丝袜另类第一页| 91精品久久久久久久久中文字幕| 91干在线观看| 91久久国产婷婷一区二区| 国产成人精品视频在线| 国产欧美在线看| 亚洲精品美女免费| 成人在线激情视频| 另类专区欧美制服同性| 国产精品精品久久久久久| 粉嫩老牛aⅴ一区二区三区| 2021久久精品国产99国产精品| 色综合影院在线| 日韩欧美中文免费| 国产精品av在线| 国产欧美精品一区二区三区-老狼| 国产福利精品在线| 国产精品久久久久9999| 亚洲欧美日韩区| 欧美成人精品h版在线观看| 成人激情免费在线| 久久精品久久久久久国产 免费| 日韩在线国产精品| 91精品国产网站| 亚洲国产日韩一区| 亚洲影视中文字幕| 国产精品成人一区| 日韩美女视频免费看| 亚洲第一级黄色片| 亚洲男人天堂手机在线| 精品国产91久久久| 亚洲欧洲av一区二区| 在线播放国产一区二区三区| 日韩av毛片网| 中文字幕久久精品| 久久久久久久久久久久久久久久久久av| 久久精彩免费视频| 亚洲欧美日韩另类| 欧美亚洲一区在线| 成人精品久久一区二区三区| 久久精品国产一区二区三区| 亚洲一区www| 日本午夜人人精品| 亚洲国产精品电影在线观看| 亚洲欧美另类在线观看| 欧美中文在线观看| 国产va免费精品高清在线观看| 日韩av在线免费观看一区| 亚洲成人黄色网| 国产三级精品网站| 亚洲久久久久久久久久| 国产一区二中文字幕在线看| 日韩av一卡二卡| 日韩av综合网| 色伦专区97中文字幕| 在线观看国产精品日韩av| 最新69国产成人精品视频免费| 成年人精品视频| 久久人人97超碰精品888| 亚洲美女在线看| 中文字幕一区二区精品| 亚洲深夜福利网站| 永久555www成人免费| 成人免费直播live| 成人信息集中地欧美| 国产一区二区三区视频免费| 精品成人69xx.xyz| 国产成人在线亚洲欧美| 日韩不卡中文字幕| 亚洲欧美国产精品久久久久久久| 欧美性xxxx极品高清hd直播| 欧美色另类天堂2015| 中文字幕日韩电影| 亚洲成人在线网| 成人亚洲激情网| 日韩一级裸体免费视频| 成人欧美一区二区三区在线湿哒哒| 亚洲福利视频专区| 91在线免费看网站| 国产亚洲精品成人av久久ww| www.亚洲一二|