<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 瘋狂 閱讀(3214) 評論(1)  編輯  收藏 所屬分類: spring
    簡單的使用java Timer調(diào)度任務(wù)
    首先寫一個定時(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)建一個任務(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.         <!-- 接受一個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)度一個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配置說明
    最后啟動工作,添加spring配置
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
    1.         <!-- 接受一組觸發(fā)器,可以接受一個列表 -->  
    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
    首先編寫一個簡單任務(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ā)器,可以接受一個列表 -->  
    8.         <property name="triggers">  
    9.             <list>  
    10.                 <ref bean="simplerTrigger2"/>  
    11.             </list>  
    12.         </property>  
    13.     </bean?  

    評論

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

    2014-05-09 15:22 by
    好的
    主站蜘蛛池模板: 亚洲午夜久久久久久久久久| 成人免费在线看片| 精品国产一区二区三区免费看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 极品色天使在线婷婷天堂亚洲| 日本精品人妻无码免费大全| 亚洲乱码在线观看| 好大好深好猛好爽视频免费| 美女尿口扒开图片免费 | 国产AV无码专区亚洲AV麻豆丫| 亚洲视频免费观看| 亚洲AV美女一区二区三区| 成年黄网站色大免费全看| 免费在线观看一级片| 亚洲国产午夜电影在线入口| 人禽杂交18禁网站免费| 24小时日本韩国高清免费| 亚洲码欧美码一区二区三区| 亚洲Aⅴ无码一区二区二三区软件| 爽爽爽爽爽爽爽成人免费观看 | 1000部拍拍拍18免费网站| 国产99久久亚洲综合精品| 五月天网站亚洲小说| 国产亚洲精午夜久久久久久| 18成禁人视频免费网站| 免费毛片a线观看| a级毛片免费完整视频| 国产免费人成视频在线播放播 | 久久国产高潮流白浆免费观看| 亚洲午夜精品一区二区麻豆| 国产V亚洲V天堂无码久久久| 91嫩草国产在线观看免费| 99久久免费国产精品热| 91在线视频免费观看| 免费精品久久天干天干| 色婷婷亚洲一区二区三区| 立即播放免费毛片一级| 欧洲乱码伦视频免费国产| 久久精品a亚洲国产v高清不卡| 亚洲精品尤物yw在线影院| 成年轻人网站色免费看|