使用監聽器實現JavaWeb的定時執行
定時器GoogleListener類:
import java.util.Timer;//定時器類
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import cn.edu.KFC.bean.GoogleTimer;
public class GoogleListener implements ServletContextListener {
private Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
// 在這裡初始化監聽器,在tomcat啟動的時候監聽器啟動,可以在這裡實現定時器功能
timer = new Timer(true);
// 新增日誌,可在tomcat日誌中檢視到
event.getServletContext().log("定時器已啟動");
System.out.println("定時器已啟動");
// 呼叫GoogleTimer,0表示任務無延遲,5*1000表示每隔5秒執行任務,60*60*1000表示一個小時,24*60*60*1000表示一天。
timer.schedule(new GoogleTimer(event.getServletContext()), 0, 2 * 60 * 1000); //每2分鐘執行一次GoogleTimer類
event.getServletContext().log("已經新增任務");
System.out.println("定時器已新增");
}
public void contextDestroyed(ServletContextEvent event) {// 在這裡關閉監聽器,所以在這裡銷燬定時器。
timer.cancel();
event.getServletContext().log("定時器銷燬");
}
}
被呼叫的GoogleTimer類的寫法,注意extends TimerTask,並且在run()方法中執行業務:
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import cn.edu.KFC.bean.GoogleAnalytics;
public class GoogleTimer extends TimerTask{
private ServletContext context = null;
GoogleAnalytics ga = new GoogleAnalytics();
public GoogleTimer(ServletContext context){
this.context = context;
}
public void run(){
ga.myTest();
}
}
最後,在web.xml中設定監聽器
<listener>
<listener-class>cn.edu.KFC.bean.GoogleListener</listener-class>
</listener>
相關文章
- javaweb使用監聽器實現定時週期性執行任務的功能JavaWeb
- 配置監聽器,建立執行緒定時執行業務邏輯執行緒行業
- javaWeb中的監聽器JavaWeb
- 【JavaWeb】EL表示式&過濾器&監聽器JavaWeb過濾器
- 永遠不要使用 redis 過期監聽實現定時任務Redis
- Python使用signal模組實現定時執行Python
- PHP定時執行任務的實現PHP
- 多執行緒-定時器的概述和使用執行緒定時器
- oracle出現監聽不正常--執行一段時間Oracle
- jfinal中如何使用過濾器監控Druid監聽SQL執行?過濾器UISQL
- 利用定時器實現51微控制器返回上電執行時間功能定時器
- 案例五:shell指令碼實現定時監控http服務的執行狀態指令碼HTTP
- JavaWeb之Servlet、攔截器、監聽器及程式設計思想JavaWebServlet程式設計
- 監聽器,過濾器,攔截器的執行過程和對比過濾器
- java鍵盤監聽之視窗監聽的實現Java
- 還在用定時器嗎?藉助 CSS 來監聽事件定時器CSS事件
- 定時清理監聽日誌的指令碼 。指令碼
- Silverlight框架中定時監聽預警資訊,使用SL執行緒DispatcherTimer解決框架執行緒
- Java實現終止執行緒池中正在執行的定時任務Java執行緒
- ios 多執行緒定時器iOS執行緒定時器
- javaWeb的執行流程JavaWeb
- Laravel 實時監聽列印 SQLLaravelSQL
- input實時監聽value change
- Lumen 實現 SQL 監聽SQL
- 多IP伺服器上監聽器的設定伺服器
- python 實現計時器,統計執行時長Python
- Jbpm4監聽的實現
- 手把手教你實現Java監聽器全域性監控Java
- Node.js使用計時器定時執行函式詳解Node.js函式
- 安卓使用物理鍵監聽器安卓
- 獲取執行埠監聽的使用者身份auth-owner
- 設定 Oracle 監聽器密碼(LISTENER)Oracle密碼
- 馴服定時器和執行緒定時器執行緒
- 時間監聽
- 定時 MYSQL 動作-LINUX下用CRON實現定時執行指令碼(轉)MySqlLinux指令碼
- 【JavaScript定時器小案例】常見的幾種定時器實現的案例JavaScript定時器
- JavaScript定時器與執行機制解析JavaScript定時器
- MySQL定時執行MySql