甜咖啡

          我的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 甜咖啡 閱讀(314) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

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

          統計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 银川市| 尼木县| 简阳市| 怀仁县| 惠水县| 六枝特区| 津南区| 盱眙县| 卢氏县| 策勒县| 抚松县| 鄂尔多斯市| 灯塔市| 林口县| 阳曲县| 平安县| 阿克苏市| 合作市| 梁河县| 崇义县| 顺平县| 旺苍县| 海宁市| 江川县| 东海县| 堆龙德庆县| 嘉鱼县| 房产| 临沭县| 江川县| 满洲里市| 华容县| 峨眉山市| 正蓝旗| 凤阳县| 涡阳县| 宝丰县| 汝州市| 垦利县| 定陶县| 新建县|