spring学习系列 -- 定时器一TimerTask

转载 2015年07月10日 14:31:23

spring学习系列 -- 定时器一TimerTask

继承TimerTask,然后创建ScheduledTimerTask设置相关属性,最后吧ScheduledTimerTask添加到TimerFactoryBean中的list中完成配置。
  1. <!-- ScheduledTimerTask设置定时器属性 : period=定时器周期;delay=延迟多久启动   
  2.      86400000代表24个小时;timerTask=执行定时任务的类对象  --
 

 

spring定时器一般有两种

TimerTask、Quartz。本节只讲TimerTask

需要的包

aopalliance-1.0.jar

commons-logging-1.1.1.jar

spring-aop-3.0.6.RELEASE.jar

spring-asm-3.0.6.RELEASE.jar

spring-beans-3.0.6.RELEASE.jar

spring-context-3.0.6.RELEASE.jar

spring-core-3.0.6.RELEASE.jar

spring-expression-3.0.6.RELEASE.jar

 

TimerTask实例:同时启动2个定时器,执行任务

定时执行任务的类继承TimerTask:

Java代码  收藏代码
  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. }     

 

spring的配置文件:

Xml代码  收藏代码
  1.     <!--  Bean  -->   
  2. <bean id="emailReportTask" class="com.hry.spring.timertask.EmailReportTask" />  
  3. <bean id="pageReportTask" class="com.hry.spring.timertask.PageReportTask" />  
  4.   
  5. <!-- ScheduledTimerTask设置定时器属性 : period=定时器周期;delay=延迟多久启动   
  6.      86400000代表24个小时;timerTask=执行定时任务的类对象  -->   
  7. <bean id="emailReportScheduleReportTask"   
  8.     class="org.springframework.scheduling.timer.ScheduledTimerTask">     
  9.     <property name="timerTask" ref="emailReportTask" />     
  10.     <property name="period" value="2000" />     
  11.     <property name="delay" value="1000" />     
  12. </bean>   
  13. <bean id="pageReportScheduleReportTask"   
  14.     class="org.springframework.scheduling.timer.ScheduledTimerTask">     
  15.     <property name="timerTask" ref="pageReportTask" />     
  16.     <property name="period" value="2000" />      
  17. </bean>   
  18.   
  19.     <!-- Spring的TimerFactoryBean负责启动定时任务;   
  20.         scheduledTimerTasks = 需要启动的定时器任务的列表-->  
  21.     <bean class="org.springframework.scheduling.timer.TimerFactoryBean">     
  22.     <property name="scheduledTimerTasks">     
  23.         <list>  
  24.             <ref bean="emailReportScheduleReportTask"/>  
  25.             <ref bean="pageReportScheduleReportTask"/>  
  26.         </list>    
  27.     </property>     
  28. </bean>   
 

测试代码:

Java代码  收藏代码
  1. public class TestBaseService {  
  2.     protected ApplicationContext ctx = new ClassPathXmlApplicationContext(  
  3.             new String[]{  
  4.                     "classpath:resource/spring.xml"  
  5.             }  
  6.     );  
  7.   
  8.     @Test  
  9.     public void timer(){  
  10.         try{  
  11.             // 这个是主线程,如果结束了,则定时器也会结束,所有设置时间要长  
  12.             Thread.sleep(36 * 1000);  
  13.         }catch(Exception e){  
  14.             e.printStackTrace();  
  15.         }  
  16.    
  17.     }  
  18. }  
 

 

参考文献:

举报

相关文章推荐

spring 定时器 (TimerTask and Quartz)

TimerTask  1. class extends TimerTask 2. 配置文件 1000 ...

java定时任务(三):timerTask定时任务

这种方式是纯粹的java代码,需要继承timerTask接口并重写run方法,创建这个类的时候就会调用run方法。 基本的使用逻辑是: 把自己需要处理的业务逻辑放在自己写的这个继承了tim...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Spring+TimerTask定时器的用法实例

Spring支持jdk内置的Timer类和Quartz Scheduler,以下先介绍jdk内置的TimerTask用法。我将在下一次的博客中介绍Quartz Scheduler的用法。 在tomc...

Java笔记:Java定时器Timer和TimerTask

Java定时器概要

android----Timer和TimerTask的使用

在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask。 Timer...

spring学习系列 -- 定时器三 两种定时器的比较

http://huangrongyou.iteye.com/blog/1762869 序   前2篇文章介绍了spring的两种定时器:TimerTask 和 Quartz,本篇要在这...

android定时器Timer与TimerTask

在onCreat()中声明一个Timer对象: Timer timer=new Timer(); timer.schedule(new MyTask(), 1);函数参数解释 //立刻开始执行t...

Java定时器(一)Timer类和TimerTask类

Java定时器(一)Timer类和TimerTask类

java定时器--TimerTask 与 Timer

如果您想要在某个时间点之后,执行某项排定的任务,您可以定义一个TimerTask,再将之排定给Timer,Timer会依指定的时间来执行TimerTask。 举个实例来说,您想在程式启动后5秒钟...

Spring学习——Spring中定时器实现

在一些工作需要使用到定时器,spring很好的集成了定时器的功能!  在Spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)