甜咖啡

我的IT空间

在web应用中指定时间自动执行任务

  1. package test; 
  2.  
  3. import java.util.Calendar; 
  4. import java.util.Date; 
  5. import java.util.GregorianCalendar; 
  6. import java.util.Timer; 
  7.  
  8. import javax.servlet.ServletContextEvent; 
  9. import javax.servlet.ServletContextListener; 
  10.  
  11. public class ContextListener implements ServletContextListener { 
  12.      
  13.     //定时器 
  14.     Timer timer = null
  15.      
  16.     //销毁 
  17.     public void contextDestroyed(ServletContextEvent event) { 
  18.         timer.cancel();      
  19.         event.getServletContext().log("定时器以销毁"); 
  20.  
  21.     } 
  22.  
  23.     //初始化 
  24.     public void contextInitialized(ServletContextEvent event) { 
  25.         timer = new Timer(); 
  26.         event.getServletContext().log("定时器已启动"); 
  27.         //设置在每晚19:15分执行任务 
  28.         Calendar calendar = Calendar.getInstance(); 
  29.         calendar.set(Calendar.HOUR_OF_DAY, 19); 
  30.         calendar.set(Calendar.MINUTE, 16); 
  31.         calendar.set(Calendar.SECOND, 0); 
  32.         Date date = calendar.getTime(); 
  33.          
  34.         timer.schedule(new Task(),date); 
  35.         event.getServletContext().log("已经添加任务调度表");  
  36.     } 
  37.  
  38. }


  1. package test; 
  2.  
  3. import java.util.Date; 
  4. import java.util.TimerTask; 
  5. /**
  6. * 具体任务
  7. */ 
  8. public class Task extends TimerTask { 
  9.  
  10.     private static boolean isRunning = false
  11.  
  12.     @Override 
  13.     public void run() { 
  14.         if (!isRunning) { 
  15. isRunning = true
  16.             System.out.println("开始执行........."+new Date()); 
  17.             isRunning = false
  18.         }else
  19.             System.out.println("上次任务还没执行完"); 
  20.         } 
  21.     } 
  22.  
  23. }


 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app version="2.4"  
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  7.  
  8. <!-- 定时监听器 -->     
  9. <listener>   
  10.   <listener-class>test.ContextListener</listener-class>  
  11. </listener>  
  12.   <welcome-file-list> 
  13.     <welcome-file>index.jsp</welcome-file> 
  14.   </welcome-file-list> 
  15. </web-app> 

posted on 2011-07-13 16:21 甜咖啡 阅读(300) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(1)

我参与的团队

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜