欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

四步輕松搞定java web每天定時執(zhí)行任務

 更新時間:2018年01月03日 13:46:12   作者:klayer_cong  
本篇文章主要介紹了四步輕松搞定java web每天定時執(zhí)行任務,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了java web每天定時執(zhí)行任務,分享給大家,具體如下:

第一步:

package com.eh.util;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
/**
 * java定時任務,每天定時執(zhí)行任務
 * @author wls
 *
 */
public class TimerManager {
 //時間間隔
  private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
  public TimerManager() {
   Calendar calendar = Calendar.getInstance();     
   /*** 定制每日2:00執(zhí)行方法 ***/ 
   calendar.set(Calendar.HOUR_OF_DAY, 16);
   calendar.set(Calendar.MINUTE, 10);
   calendar.set(Calendar.SECOND, 0);   
   Date date=calendar.getTime(); //第一次執(zhí)行定時任務的時間
   System.out.println(date);
   System.out.println("before 方法比較:"+date.before(new Date()));
   //如果第一次執(zhí)行定時任務的時間 小于 當前的時間
   //此時要在 第一次執(zhí)行定時任務的時間 加一天,以便此任務在下個時間點執(zhí)行。如果不加一天,任務會立即執(zhí)行。循環(huán)執(zhí)行的周期則以當前時間為準
   if (date.before(new Date())) {
    date = this.addDay(date, 1);
    System.out.println(date);
   }   
   Timer timer = new Timer();   
   NFDFlightDataTimerTask task = new NFDFlightDataTimerTask();
   //安排指定的任務在指定的時間開始進行重復的固定延遲執(zhí)行。
   timer.schedule(task,date,PERIOD_DAY);
   } 
   // 增加或減少天數(shù)
   public Date addDay(Date date, int num) {
   Calendar startDT = Calendar.getInstance();
   startDT.setTime(date);
   startDT.add(Calendar.DAY_OF_MONTH, num);
   return startDT.getTime();
   }
}

第二步:

package com.eh.util;
 import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimerTask;
 
/**
 * 在 TimerManager 這個類里面,大家一定要注意 時間點的問題。如果你設定在凌晨2點執(zhí)行任務。但你是在2點以后
 *發(fā)布的程序或是重啟過服務,那這樣的情況下,任務會立即執(zhí)行,而不是等到第二天的凌晨2點執(zhí)行。為了,避免這種情況
 *發(fā)生,只能判斷一下,如果發(fā)布或重啟服務的時間晚于定時執(zhí)行任務的時間,就在此基礎上加一天。
 * @author wls
 *
 */
public class NFDFlightDataTimerTask extends TimerTask {
 private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 @Override
 public void run() {
  try {
    //在這里寫你要執(zhí)行的內(nèi)容
   System.out.println("執(zhí)行當前時間"+formatter.format(Calendar.getInstance().getTime()));
  } catch (Exception e) {
   System.out.println("-------------解析信息發(fā)生異常--------------");
  }
 } 
}

第三步:

package com.eh.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class NFDFlightDataTaskListener implements ServletContextListener {
 
 public void contextInitialized(ServletContextEvent sce) {
   new TimerManager();
 }
 
 public void contextDestroyed(ServletContextEvent sce) {
  // TODO Auto-generated method stub
   
 } 
}

第四步:配置web.xml文件

<!--NFDFlightDataTaskListener 監(jiān)聽器-->
<listener>
 <listener-class>com.eh.util.NFDFlightDataTaskListener</listener-class>
</listener>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • FeignClient如何通過配置變量調(diào)用配置文件url

    FeignClient如何通過配置變量調(diào)用配置文件url

    這篇文章主要介紹了FeignClient如何通過配置變量調(diào)用配置文件url,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot項目配置明文密碼泄露問題的處理方式

    SpringBoot項目配置明文密碼泄露問題的處理方式

    這篇文章主要介紹了SpringBoot項目配置明文密碼泄露問題的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 從內(nèi)存方面解釋Java中String與StringBuilder的性能差異

    從內(nèi)存方面解釋Java中String與StringBuilder的性能差異

    我們通常會發(fā)現(xiàn)使用StringBuffer或StringBuilder創(chuàng)建出來的字符串在拼接時回避String要來得快,尤其是StringBuilder,本文就從內(nèi)存方面解釋Java中String與StringBuilder的性能差異,需要的朋友可以參考下
    2016-05-05
  • java String、StringBuilder和StringBuffer的區(qū)別詳解

    java String、StringBuilder和StringBuffer的區(qū)別詳解

    這篇文章主要介紹了java String、StringBuilder和StringBuffer的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Java實現(xiàn)網(wǎng)絡資源的單線程下載

    Java實現(xiàn)網(wǎng)絡資源的單線程下載

    這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)在一個線程中完成網(wǎng)絡資源的下載,文中的實現(xiàn)步驟講解詳細,感興趣的可以嘗試下
    2022-10-10
  • 老生常談foreach(增強for循環(huán))和for的區(qū)別

    老生常談foreach(增強for循環(huán))和for的區(qū)別

    下面小編就為大家?guī)硪黄仙U刦oreach(增強for循環(huán))和for的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java 添加和刪除PDF圖層的示例代碼

    Java 添加和刪除PDF圖層的示例代碼

    本文將介紹如何使用Spire.PDF for Java來添加和刪除PDF圖層,本文通過示例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-02-02
  • RestTemplate Get請求實現(xiàn)bean參數(shù)傳遞詳解

    RestTemplate Get請求實現(xiàn)bean參數(shù)傳遞詳解

    RestTemplate 是從 Spring3.0 開始支持的一個 HTTP 請求工具,也有的稱之為網(wǎng)絡框架,說白了就是Java版本的一個postman,這篇文章主要介紹了詳解RestTemplate 用法,需要的朋友可以參考下
    2022-11-11
  • MVC+DAO設計模式下的設計流程詳解

    MVC+DAO設計模式下的設計流程詳解

    這篇文章主要介紹了MVC+DAO設計模式下的設計流程詳解,分別介紹了數(shù)據(jù)庫設計、設計符合java bean標準的entity類、設計訪問數(shù)據(jù)庫的DAO接口等內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 一篇文章帶你入門java工廠模式

    一篇文章帶你入門java工廠模式

    這篇文章主要介紹了Java工廠模式,結(jié)合實例形式詳細分析了java基本數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換、算術(shù)運算符、邏輯運算符等相關原理與操作技巧,需要的朋友可以參考下
    2021-08-08

最新評論