程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> VA WEB程序中添加定時器

VA WEB程序中添加定時器

編輯:關於JAVA

 //這是我的定時器類,用來定時執行某段任務;

  package com.my.time;

  import Java(Java教程 Java培訓 ).text.ParseException;

  import Java.text.SimpleDateFormat;

  import Java.util.Date;

  import Java.util.Timer;

  public class BugXMLTimer {

  public Timer timer;

  public void timerStart(){

  timer = new Timer();

  Date datetime=new Date();

  Date midnightDate=new Date();

  SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");

  SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  try {

  midnightDate = sdf2.parse(sdf1.format(datetime)+" 23:00:00");

  } catch (ParseException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  long in=midnightDate.getTime()-datetime.getTime();

  System.out.println("before task");

  //立刻執行,然後每隔30s執行一次

  timer.schedule(new BugXMLTimerTask(), 0,30000);

  }

  public void timerStop(){

  if(timer!=null)

  timer.cancel();

  }

  public static void main(String[] args){

  BugXmlTimer myTimer=new BugXMLTimer();

  // TODO Auto-generated method stub

  myTimer.timerStart();

  }

  }

  //這是執行任務的類,即每隔一段時間要做的事情在這裡

  package com.my.time;

  import Java.util.TimerTask;

  public class BugXMLTimerTask extends TimerTask {

  @Override

  public void run() {

  System.out.print("run task");

  }

  }

  //以下是出發定時操作的類,該類實現了ServletContextListener

  public class MyTimerListener implements ServletContextListener {

  private BugXmlTimer mytimer = new BugXMLTimer ();

  public void contextInitialized(ServletContextEvent event) {

  mytimer.timerStart();

  }

  public void contextDestroyed(ServletContextEvent event) {

  mytimer.timerStop();

  }

  }

  然後在web.XML裡部署一下,即可在程序啟動後運行定時器了!

  

  com.my.time.MyTimerListener

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved