H5W3
当前位置:H5W3 > 其他技术问题 > 正文

定时执行任务的三种方法

1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.schedule(new ListByDayTimerTask(),10000,86400000);这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。2)ServletContextListener这个方法在web容器环境比较方便,这样,在web server启动后就可以自动运行该任务,不需要手工操作。将ListByDayListener implements ServletContextListener接口,在contextInitialized方法中加入启动Timer的代码,在contextDestroyed方法中加入cancel该Timer的代码;然后在web.xml中,加入listener:<listener><listener-class>com.qq.customer.ListByDayListener</listener-class></listener>3)org.springframework.scheduling.timer.ScheduledTimerTask如果你用spring,那么你不需要写Timer类了,在schedulingContext-timer.xml中加入下面的内容就可以了:<?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”><beans><bean id=”timer” class=”org.springframework.scheduling.timer.TimerFactoryBean”><property name=”scheduledTimerTasks”><list><ref local=”MyTimeTask1″/></list></property></bean><bean id=”MyTimeTask” class=”com.qq.timer.ListByDayTimerTask”/><bean id=”MyTimeTask1″ class=”org.springframework.scheduling.timer.ScheduledTimerTask”><property name=”timerTask”><ref bean=”MyTimeTask”/></property><property name=”delay”><value>10000</value></property><property name=”period”><value>86400000</value></property></bean></beans>

本文地址:H5W3 » 定时执行任务的三种方法

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址