最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java Timer 定時每天凌晨1點執(zhí)行任務

 更新時間:2019年09月18日 09:49:16   作者:BUG胡漢三  
這篇文章主要介紹了java Timer 定時每天凌晨1點執(zhí)行任務的代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

下面給大家介紹java Timer 定時每天凌晨1點執(zhí)行任務,具體代碼如下所示:

import java.util.TimerTask;
/**
 * 執(zhí)行內(nèi)容
 * @author admin_Hzw
 *
 */
public class Task extends TimerTask {
 public void run() {
 System.out.println("我有一頭小毛驢!"); 
 }
}
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
/**
 * 任務管理
 * @author admin_Hzw
 *
 */
public class TimerManager {
 /**
 * @param args
 */
 public static void main(String[] args) {
 new TimerManager(); 
 }
 //時間間隔(一天)
 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
 public TimerManager() {
 Calendar calendar = Calendar.getInstance();
 calendar.set(Calendar.HOUR_OF_DAY, 1); //凌晨1點
 calendar.set(Calendar.MINUTE, 0);
 calendar.set(Calendar.SECOND, 0);
 Date date=calendar.getTime(); //第一次執(zhí)行定時任務的時間
 //如果第一次執(zhí)行定時任務的時間 小于當前的時間
 //此時要在 第一次執(zhí)行定時任務的時間加一天,以便此任務在下個時間點執(zhí)行。如果不加一天,任務會立即執(zhí)行。
 if (date.before(new Date())) {
  date = this.addDay(date, 1);
 }
 Timer timer = new Timer();
 Task task = new Task();
 //安排指定的任務在指定的時間開始進行重復的固定延遲執(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();
 }
}

知識點擴展:java中實現(xiàn)定時任務每天規(guī)定時間執(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>

總結

以上所述是小編給大家介紹的java Timer 定時每天凌晨1點執(zhí)行任務,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • java動態(tài)代理(jdk與cglib)詳細解析

    java動態(tài)代理(jdk與cglib)詳細解析

    靜態(tài)代理:由程序員創(chuàng)建或特定工具自動生成源代碼,再對其編譯。在程序運行前,代理類的.class文件就已經(jīng)存在了
    2013-09-09
  • IDEA Debug模式下改變各類型變量值的方法

    IDEA Debug模式下改變各類型變量值的方法

    這篇文章主要介紹了IDEA Debug模式下改變各類型變量值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java模板動態(tài)生成word文件的方法步驟

    Java模板動態(tài)生成word文件的方法步驟

    最近項目中需要根據(jù)模板生成word文檔,模板文件也是word文檔。本文使用使用freemarker模板生成word文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • SpringBoot+SpringSecurity+JWT實現(xiàn)系統(tǒng)認證與授權示例

    SpringBoot+SpringSecurity+JWT實現(xiàn)系統(tǒng)認證與授權示例

    本文主要介紹了SpringBoot+SpringSecurity+JWT實現(xiàn)系統(tǒng)認證與授權示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Mybatis之通用Mapper動態(tài)表名及其原理分析

    Mybatis之通用Mapper動態(tài)表名及其原理分析

    這篇文章主要介紹了Mybatis之通用Mapper動態(tài)表名及其原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring?Boot使用MyBatis進行兩個表的關聯(lián)

    Spring?Boot使用MyBatis進行兩個表的關聯(lián)

    本文主要介紹了Spring?Boot使用MyBatis進行兩個表的關聯(lián),通過實例演示了如何使用MyBatis的XML映射文件和注解實現(xiàn)關聯(lián)操作,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • springboot?去掉netflix?禁用Eureka的解決方法

    springboot?去掉netflix?禁用Eureka的解決方法

    這篇文章主要介紹了springboot?去掉netflix?禁用Eureka的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • 軟件開發(fā)七大過程模型

    軟件開發(fā)七大過程模型

    這篇文章主要介紹了Java七大過程模型詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-08-08
  • spring mvc @PathVariable綁定URI模板變量值方式

    spring mvc @PathVariable綁定URI模板變量值方式

    這篇文章主要介紹了spring mvc @PathVariable綁定URI模板變量值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解java面試題中的i++和++i

    詳解java面試題中的i++和++i

    這篇文章主要介紹了java面試題中的i++和++i的相關資料,需要的朋友可以參考下
    2018-03-03

最新評論

海盐县| 平乡县| 郓城县| 营山县| 积石山| 和龙市| 江阴市| 长岛县| 阳朔县| 广饶县| 晴隆县| 思南县| 德州市| 开封县| 凌海市| 江华| 黔西| 天柱县| 潜山县| 无锡市| 乌兰浩特市| 会宁县| 绿春县| 邳州市| 合水县| 盐亭县| 山西省| 鄂尔多斯市| 东乌珠穆沁旗| 潞城市| 吴川市| 盐山县| 昭平县| 霍州市| 潢川县| 辉南县| 济源市| 雅江县| 凤山市| 浦城县| 西华县|