国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

實例講解java定時任務

2019-11-26 15:01:46
字體:
來源:轉載
供稿:網友

今天為大家分享的一個經驗就是java的定時任務,就是說在一天的某個時間點執行以下代碼。

public class TimerManager {  //時間間隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;  public TimerManager() { Calendar calendar = Calendar.getInstance();     /*** 定制每日2:00執行方法 ***/  calendar.set(Calendar.HOUR_OF_DAY, 2); 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();   NFDFlightDataTimerTask task = new NFDFlightDataTimerTask(); //安排指定的任務在指定的時間開始進行重復的固定延遲執行。 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(); } }

在TimerManager 這個類里面,大家一定要注意時間點的問題。如果你設定在凌晨2點執行任務。但你是在2點以后發布的程序或是重啟過服務,那這樣的情況下,任務會立即執行,而不是等到第二天的凌晨2點執行。為了,避免這種情況發生,只能判斷一下,如果發布或重啟服務的時間晚于定時執行任務的時間,就在此基礎上加一天。

public class NFDFlightDataTimerTask extends TimerTask {  private static Logger log = Logger.getLogger(NFDFlightDataTimerTask.class);  @Override public void run() { try {  //在這里寫你要執行的內容   } catch (Exception e) {  log.info("-------------解析信息發生異常--------------"); } }} public class NFDFlightDataTaskListener implements ServletContextListener {  public void contextInitialized(ServletContextEvent event) { new TimerManager(); }  public void contextDestroyed(ServletContextEvent event) { } }

然后要在web.xml里面配置監聽器

<listener> <listener-class> com.listener.NFDFlightDataTaskListener </listener-class></listener>

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安化县| 乡宁县| 城口县| 东城区| 泰来县| 玉龙| 望奎县| 怀安县| 柘城县| 金塔县| 西贡区| 精河县| 碌曲县| 新龙县| 怀化市| 九江市| 韩城市| 广宁县| 堆龙德庆县| 房山区| 舞钢市| 山西省| 万年县| 临潭县| 安陆市| 松江区| 天全县| 师宗县| 广灵县| 星座| 东乡县| 大同市| 龙山县| 科技| 咸丰县| 定襄县| 大洼县| 肇州县| 乌拉特中旗| 陇西县| 汕头市|