首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring 定时任务浅谈(1)赵王涛

2012-09-06 
Spring 定时任务浅谈(一)赵王涛Spring 对 JDK Timer 调度的支持单纯使用java中的 Timer 类 的 schedule()

Spring 定时任务浅谈(一)赵王涛
Spring 对 JDK Timer 调度的支持
    单纯使用java中的 Timer 类 的 schedule()方法 能实现定时任务,但是在有的应用程序中我们需要配置一些数据,因此我们需要使用spring来管理这些类从而使得我们的程序易于配置 而且 触发器信息是硬编码到程序里面的,当需要修改时我们很纠结,需要修改代码
并重新编译。
    通过使用Spring来管理,这样我们可以把所有的任务和触发器配置以及对Timer的控制
都交给Spring来处理,这样就能在外部定义任务和他的触发器。
    Spring对Timer支持的核心ScheduledTimerTask 和 TimerFactoryBean组成的
ScheduledTimerTask是对TimeTask的包装,并可以为此配置触发器信息。TimeFactory
Bean能够配置创建触发器,并能自动创建Timer实例。
    一个完整的配置:
       <beans xmlns="http://www.springframework.org/schema/beans">

   
    <bean id = "job" class = "com.allen.test.HelloWordTest"/>
    <bean id = "timeTas" class = "org.springframework.scheduling.timer.ScheduledTimerTask">
       <property name="delay">
          <value>1000</value>
       </property>
       <property name="period">
          <value>9000</value>
       </property>
      
       <property name="timerTask">
       <ref local = "job"/>
       </property>
    </bean>
    <bean id = "timerFactory" class = "org.springframework.scheduling.timer.TimerFactoryBean">
       <property name="scheduledTimerTasks">
          <list>
             <ref local = "timeTas"/>
         
          </list>
      
       </property>
   
    </bean>

</beans>
 



HelloWordTest.java

      import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TimerFactoryBeanExample {


public static void main(String args[]){

ApplicationContext ctx = new FileSystemXmlApplicationContext("E:/WorkSpace2/Test/src/applicationContext.xml");

}
}

热点排行