RT,java web利用Timer schedule自动执行任务,可以循环执行或者只执行一次,当然实际使用中一般用的都是循环执行。

直接上代码,简单明了

 
  1. package com.tcps.center.util; 
  2.  
  3. import java.util.Timer; 
  4. import javax.servlet.ServletContextEvent; 
  5. import javax.servlet.ServletContextListener; 
  6.  
  7. public class AutoRun implements ServletContextListener { 
  8.    
  9.   private Timer timer = null
  10.   public void contextInitialized(ServletContextEvent event) { 
  11.     timer = new Timer(true); 
  12.     /* 
  13.      * 这里开始循环执行 MyJob()方法了 
  14.      * schedule(param1, param2,param3)这个函数的三个参数的意思分别是: 
  15.      *    param1:你要执行的方法;param2:延迟执行的时间,单位毫秒;param3:循环间隔时间,单位毫秒 
  16.      */ 
  17.     timer.schedule(new MyJob(), 0, 86400000); 
  18.   } 
  19.   public void contextDestroyed(ServletContextEvent event) { 
  20.     timer.cancel(); 
  21.   } 

 

 
  1. package com.tcps.center.util; 
  2.  
  3. import java.util.TimerTask; 
  4.  
  5. public class MyJob extends TimerTask{ 
  6.     @Override 
  7.     public void run() { 
  8.         // TODO 你想要做的事情 
  9.     } 

把这段放到web.xml监听就好了,服务器启动后会自动监听调用这个程序

 
  1. <listener> 
  2.     <listener-class>com.tcps.center.util.AutoRun</listener-class> 
  3. </listener> 

哦了,that's all, over