任务调度5-------Spring中使用timetask执行定时任务

原创 2015年07月08日 17:41:35

Spring对Timer的支持的核心是由ScheduledTimerTask和TimerFactoryBean类组成的。 ScheduledTimerTask类是对TimerTask的包装器实现,这样你就可以为这个任务定义触发器信息。使用 TimerFactoryBean类,你可以让Spring使用配置创建触发器,并为一组指定的ScheduledTimerTask bean自动创建Timer实例。

1、自定义timerTask,比如:定时输出ServletContext中的信息,本例中输出项目的绝对路径(比如:D:\software\apache-tomcat-6.0.33\webapps\spring\)

Java代码  收藏代码
  1. public class BirthdayReminderTimerTask extends TimerTask{  
  2.  
  3.   private static Logger logger = Logger.getLogger(BirthdayReminderTimerTask.class);  
  4.   @Override  
  5.   public void run() {  

  6.      // do something
  7. }  

 2、在spring的bean配置文件中配置,当系统加载该文件时,配置的定时器将自动启动,同时被spring管理。

Xml代码  收藏代码
  1. <!--自定义任务-->      
  2.     <bean id="birthdayReminder" class="com.jep.task.BirthdayReminderTimerTask"></bean>    
  3.         
  4.     <!-- ScheduledTimerTask类是对TimerTask的包装器实现,这样你就可以为这个任务定义触发器信息。 -->    
  5.     <bean id="birthdayReminderTimerTask"    
  6.         class="org.springframework.scheduling.timer.ScheduledTimerTask">    
  7.         <!-- 设置启动延迟 -->    
  8.         <property name="delay">    
  9.             <value>3000</value>    
  10.         </property>    
  11.         <!-- 后续延迟 -->    
  12.         <property name="period">    
  13.             <value>5000</value>    
  14.         </property>    
  15.         <!-- 指定触发器信息 -->    
  16.         <property name="timerTask">    
  17.             <ref local="birthdayReminder" />    
  18.         </property>    
  19.     </bean>    
  20.         
  21.     <!-- 使用TimerFactoryBean类,你可以让Spring使用配置创建触发器,并为一组指定的ScheduledTimerTask bean自动创建Timer实例。 -->    
  22.     <bean id="timerFactory"    
  23.         class="org.springframework.scheduling.timer.TimerFactoryBean">    
  24.         <property name="scheduledTimerTasks">    
  25.             <list>    
  26.                 <ref local="birthdayReminderTimerTask" />                 
  27.             </list>    
  28.         </property>            
  29.     </bean>    

   3、对于web项目,需要在web.xml中进行如下配置

Xml代码  收藏代码
  1. <!-- Spring ApplicationContext配置文件的路径此参数用于后面的Spring-Context loader -->  
  2.     <context-param>  
  3.         <param-name>contextConfigLocation</param-name>  
  4.         <param-value>classpath:applicaotionContext.xml</param-value>  
  5.     </context-param>  
  6.     <!--Spring ApplicationContext 载入 -->  
  7.     <listener>  
  8.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  9.     </listener>  

spring timetask 定时任务调度

定时任务调度即在设置的特定时间执行特定的任务,不需要人工干预。 spring timertask spring 自身所带定时任务类,不需要引入第三方jar包,使用方式如下: EmailRepor...

在Spring中使用Quartz进行任务调度(5)

创建Scheduler      Quartz的SchedulerFactory是标准的工厂类,不太适合在Spring环境下使用。此外,为了保证Scheduler能够感知Spring容器的生命周期,...

spring整合quartz定时任务调度

  • 2012年05月18日 22:29
  • 3.3MB
  • 下载

spring+quartz定时任务调度

导读本文讲述的是spring+quartz环境下的定时任务调度,不涉及动态。动态定时调度将会放在另一篇文章中(未编辑)。环境:spring4.x.x+springMVC+mybatis框架+quart...

Spring quartz 定时任务调度

  • 2009年02月27日 00:12
  • 3.04MB
  • 下载

Spring与Quartz集成配置实现简单定时任务调度

可以说是最好的一篇定时任务的介绍 来自:http://www.zuidaima.com/share/2736623139458048.htm 一.代码结构图 二.核心类 J...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:任务调度5-------Spring中使用timetask执行定时任务
举报原因:
原因补充:

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