<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    spring任務(wù)調(diào)度

    Posted on 2010-01-27 14:47 瘋狂 閱讀(3213) 評(píng)論(1)  編輯  收藏 所屬分類: spring
    簡單的使用java Timer調(diào)度任務(wù)
    首先寫一個(gè)定時(shí)器任務(wù)類
    1. package com.myspring.quartz;   
    2.   
    3. import java.util.TimerTask;   
    4.   
    5. public class MyTimeTask extends TimerTask {   
    6.   
    7.     @Override  
    8.     public void run() {   
    9.         // TODO Auto-generated method stub   
    10.         System.out.println("hello");   
    11.     }   
    12.   
    13. }  

    spring配置文件
    <?xml version="1.0" encoding="UTF-8"?>  
    1. <beans xmlns="http://www.springframework.org/schema/beans"  
    2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    3.     xmlns:p="http://www.springframework.org/schema/p"  
    4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
    5.     <bean id="timeTask" class="com.myspring.quartz.MyTimeTask"></bean>  
    6.     <bean id="myTimeTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">  
    7.         <property name="timerTask" ref="timeTask"></property>  
    8.         <!-- 指定任務(wù)運(yùn)行周期,單位毫秒 -->  
    9.         <property name="period" value="1000"></property>  
    10.         <!-- 指定任務(wù)延時(shí)時(shí)間,即第一次運(yùn)行之前等待時(shí)間,單位毫秒 -->  
    11.         <property name="delay" value="1000"></property>  
    12.     </bean>  
    13.     <bean class="org.springframework.scheduling.timer.TimerFactoryBean">  
    14.         <property name="scheduledTimerTasks">  
    15.             <list>  
    16.                 <ref bean="myTimeTask"/>  
    17.             </list>      
    18.         </property>  
    19.     </bean>  
    20. </beans>  

    局限性:Java Timer無法精確指定何時(shí)運(yùn)行
    使用Quartz調(diào)度器
    同Java Timer一樣首先創(chuàng)建一個(gè)任務(wù)類MyQuartzJob.java
    package com.myspring.quartz;   
    1.   
    2. import org.quartz.JobExecutionContext;   
    3. import org.quartz.JobExecutionException;   
    4. import org.springframework.scheduling.quartz.*;   
    5. public class MyQuartzJob extends QuartzJobBean{   
    6.   
    7.     @Override  
    8.     protected void executeInternal(JobExecutionContext arg0)   
    9.             throws JobExecutionException {   
    10.         // TODO Auto-generated method stub   
    11.         System.out.println("方法調(diào)用");   
    12.     }   
    13.   
    14. }  

    添加spring配置
    <bean id="quartzJob" class="org.springframework.scheduling.quartz.JobDetailBean">  
    1.         <property name="jobClass" value="com.myspring.quartz.MyQuartzJob"></property>  
    2.         <!-- 接受一個(gè)Map,其中包含了需要設(shè)置給jobClass的各種屬性 -->  
    3.         <property name="jobDataAsMap">  
    4.             <map></map>  
    5.         </property>  
    6.     </bean>  
    7.        
    8.     <bean id="simplerTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  
    9.         <property name="jobDetail" ref="quartzJob"></property>  
    10.         <!-- 設(shè)置延遲工作的第一次執(zhí)行,單位毫秒 -->  
    11.         <property name="startDelay" value="1000"></property>  
    12.         <!-- 設(shè)置調(diào)度任務(wù)頻度,單位毫秒 -->  
    13.         <property name="repeatInterval" value="1000"></property>  
    14.     </bean>  

    為了精確的控制調(diào)度工作,Quartz提供了cron工作
    調(diào)度一個(gè)cron工作
    例如,要在每天晚上11:59運(yùn)行任務(wù)
    可以如下配置spring配置
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
    1.         <property name="jobDetail" ref="quartzJob"></property>  
    2.         <property name="cronExpression" value="0 59 23 * * ?"></property></bean>  

    我的主管寫的cronExpression配置說明
    最后啟動(dòng)工作,添加spring配置
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
    1.         <!-- 接受一組觸發(fā)器,可以接受一個(gè)列表 -->  
    2.         <property name="triggers">  
    3.             <list>  
    4.                 <ref bean="simplerTrigger"/>  
    5.                 <ref bean="cronTrigger"/>  
    6.             </list>  
    7.         </property>  
    8.     </bean>  

    使用org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean類,直接調(diào)度任務(wù),而不用繼承QuartzJobBean
    首先編寫一個(gè)簡單任務(wù)類MyQuartz.java
     
    1. package com.myspring.quartz;   
    2.   
    3. public class MyQuartz {   
    4.     public void hello(){   
    5.         System.out.println("hello");   
    6.     }   
    7. }  

    然后添加spring配置
     
    1. <bean id="myQuartz" class="com.myspring.quartz.MyQuartz"></bean>  
    2.     <bean id="newJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
    3.         <property name="targetObject" ref="myQuartz"></property>  
    4.         <property name="targetMethod" value="hello"></property>  
    5.     </bean>  

    最后同理添加spring配置
     
    1. <bean id="simplerTrigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  
    2.         <property name="jobDetail" ref="newJob"></property>  
    3.         <property name="startDelay" value="1000"></property>  
    4.         <property name="repeatInterval" value="1000"></property>  
    5.     </bean>  
    6. <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
    7.         <!-- 接受一組觸發(fā)器,可以接受一個(gè)列表 -->  
    8.         <property name="triggers">  
    9.             <list>  
    10.                 <ref bean="simplerTrigger2"/>  
    11.             </list>  
    12.         </property>  
    13.     </bean?  

    評(píng)論

    # re: spring任務(wù)調(diào)度  回復(fù)  更多評(píng)論   

    2014-05-09 15:22 by
    好的
    主站蜘蛛池模板: 亚洲AV无码专区电影在线观看| 四虎永久在线免费观看| 免费女人高潮流视频在线观看| 久久久受www免费人成| 中文字幕在线成人免费看| aa级女人大片喷水视频免费| 黄视频在线观看免费| 国色精品va在线观看免费视频 | 久久久久亚洲AV无码专区体验| 亚洲成AV人片在| 亚洲视频在线观看| 亚洲精品视频专区| 亚洲丝袜中文字幕| 亚洲熟妇无码av另类vr影视| 欧美亚洲国产SUV| 免费人成在线观看播放a| 一级毛片人与动免费观看| 精品无码国产污污污免费网站国产 | 伊人久久精品亚洲午夜| 亚洲AV无码一区二区乱孑伦AS | 国产性生交xxxxx免费| www国产亚洲精品久久久| 国产亚洲精久久久久久无码77777| 亚洲日产无码中文字幕| 亚洲视频精品在线| 亚洲小说图区综合在线| 四虎国产精品永免费| 国偷自产一区二区免费视频| 中国人xxxxx69免费视频| 免费鲁丝片一级在线观看| 亚洲国产成人影院播放| 久久久久亚洲av无码尤物| 亚洲成人福利在线| 国产精品久久久久久亚洲影视 | 精品日韩99亚洲的在线发布| 在线观看国产一区亚洲bd| 国产真人无码作爱免费视频| 3d动漫精品啪啪一区二区免费| 免费的涩涩视频在线播放| 亚洲欭美日韩颜射在线二| 亚洲人成7777|