Java Web實現添加定時任務的方法樣本,javaweb實現樣本

來源:互聯網
上載者:User

Java Web實現添加定時任務的方法樣本,javaweb實現樣本

本文執行個體講述了Java Web實現添加定時任務的方法。分享給大家供大家參考,具體如下:

定時任務時間控制類

/** * 定時任務時間控制 * * @author liming * */public class TimerManager {  // 時間間隔  private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;  public TimerManager() {    Calendar calendar = Calendar.getInstance();    /*** 定製每日00:00執行方法 ***/    calendar.set(Calendar.HOUR_OF_DAY, 0);    calendar.set(Calendar.MINUTE, 0);    calendar.set(Calendar.SECOND, 0);    Date date = calendar.getTime(); //執行定時任務的時間    // 在啟動伺服器時如果第一次執行定時任務的時間小於當前的時間任務會立即執行。    // 因此為了防止重啟伺服器造成任務重複執行,需要將執行定時任務的時間修改為第二天。    if (date.before(new Date())) {      date = this.addDay(date, 1);    }    Timer timer = new Timer();    DailyDataTimerTask task = new DailyDataTimerTask();    // 任務執行間隔。    timer.schedule(task, date, PERIOD_DAY);  }  // 增加或減少天數  public Date addDay(Date date, int num) {    Calendar startDT = Calendar.getInstance();    startDT.setTime(date);    startDT.add(Calendar.DAY_OF_MONTH, num);    return startDT.getTime();  }}

定時任務操作主體類

/** * 定時任務操作主體 * * @author liming * */public class DailyDataTimerTask extends TimerTask {  private static Logger log = Logger.getLogger(DailyDataTimerTask.class);  @Override  public void run() {    try {      //在這裡寫你要執行的內容      System.out.println("come in DailyDataTimerTask");    } catch (Exception e) {      log.info("-------------解析資訊發生異常--------------");    }  }}

定時任務監聽器

/** * 定時任務監聽器 * * @author liming * */public class DailyDataTaskListener implements ServletContextListener {  public void contextInitialized(ServletContextEvent event) {    new TimerManager();  }  public void contextDestroyed(ServletContextEvent event) {  }}

web.xml添加監聽器

<!--載入每日資料更新定時任務檔案--><listener>    <listener-class>      com.honsto.web.job.DailyDataTaskListener    </listener-class></listener>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.