javaWeb定时任务的一种实现方式

来源:互联网 发布:无锡汽车模具编程招聘 编辑:程序博客网 时间:2024/05/10 17:58

1、类的创建

  1. public class EmailReportTask extends TimerTask{     
  2.     @Override     
  3.     public void run() {     
  4.         System.out.println(" EmailReportTask Run... ");  
  5.     }       
  6. }   
  7.   
  8. public class PageReportTask extends TimerTask{     
  9.     @Override     
  10.     public void run() {     
  11.         System.out.println("PageReportTask Run...");  
  12.     }       
  13. }     

2、applicationContext-quartz.xml的配置如下

   (1)执行定时任务的bean

  1.     <!--  Bean  -->   
  2. <bean id="emailReportTask" class="com.hry.spring.timertask.EmailReportTask" />  
  3. <bean id="pageReportTask" class="com.hry.spring.timertask.PageReportTask" />  

(2)设置定时器属性的bean:ScheduledTimerTask
    
  1. <!-- period=定时器周期,delay=延迟多久启动,它们的单位是毫秒;timerTask=执行定时任务的类对象  -->   
  2. <bean id="emailReportScheduleReportTask"   class="org.springframework.scheduling.timer.ScheduledTimerTask">        <property name="timerTask" ref="emailReportTask" />     
  3.     <property name="period" value="2000" />     
  4.     <property name="delay" value="1000" />     
  5. </bean>   

  6. <bean id="pageReportScheduleReportTask"   class="org.springframework.scheduling.timer.ScheduledTimerTask">     
  7.     <property name="timerTask" ref="pageReportTask" />     
  8.     <property name="period" value="2000" />      
  9. </bean>   
  
(3)负责启动定时任务的bean:TimerFactoryBean

  1. <!-- scheduledTimerTasks = 需要启动的定时器任务的列表-->  
  2.     <bean class="org.springframework.scheduling.timer.TimerFactoryBean">     
  3.     <property name="scheduledTimerTasks">     
  4.         <list>  
  5.             <ref bean="emailReportScheduleReportTask"/>  
  6.             <ref bean="pageReportScheduleReportTask"/>  
  7.         </list>    
  8.     </property>     
  9. </bean>   

0 0
原创粉丝点击