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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

如何在Java中實(shí)現(xiàn)Job Scheduling

2019-11-18 13:12:47
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  在大多數(shù)項(xiàng)目中,在特定的時(shí)間或頻率下你需要完成一些特定的任務(wù)。在本文中我們將演示如何用標(biāo)準(zhǔn)的java Timer API來(lái)實(shí)現(xiàn)。
  大多商業(yè)應(yīng)用都會(huì)用報(bào)表和統(tǒng)計(jì),很難想象沒(méi)有這些幫助我們分析未來(lái)趨勢(shì)的數(shù)據(jù),我們還要這系統(tǒng)干什么。問(wèn)題是如此多的數(shù)據(jù)我們?cè)撊绾斡|發(fā),假如處理對(duì)系統(tǒng)性能影響不大。比較好的方式是避開(kāi)應(yīng)用高峰,讓服務(wù)器在閑暇時(shí)完成這些事。
  下面是我的程序:
  package net.nighttale.scheduling;
  
  import java.util.Calendar;
  import java.util.Date;
  import java.util.Timer;
  import java.util.TimerTask;
  /**
  * @author kevin zhou
  *
  * 在Java中實(shí)現(xiàn)Job Scheduling
  * 創(chuàng)建日期 2004-7-13
  */
  public class ReportGenerator extends TimerTask {
  
  public void run() {
  System.out.  //TODO generate report
  }
  
  }
  
  class Main
application {
  
  public static void main(String[] args) {
  Timer timer=new Timer();
  Calendar date = Calendar.getInstance();
  date.set(
  Calendar.DAY_OF_WEEK,
  Calendar.SUNDAY
  );
  date.set(Calendar.HOUR, 0);
  date.set(Calendar.MINUTE, 0);
  date.set(Calendar.SECOND, 0);
  date.set(Calendar.MILLISECOND, 0);
  // Schedule to run every Sunday in midnight
  timer.schedule(
  new ReportGenerator(),
  date.getTime(),
  1000 * 60 * 60 * 24 * 7
  );
  }
  }
  我先簡(jiǎn)單解釋一下,在我們的例子中ReportGenerator繼續(xù)java.util.TimerTask,它又繼續(xù)了java.lang.Runnable,我們需要覆蓋run()方法。
  調(diào)用時(shí)我們用schedule()方法讓它每周日0點(diǎn)0分執(zhí)行,避開(kāi)服務(wù)器高峰,實(shí)現(xiàn)Job Scheduling的目的。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 和田市| 泰安市| 大渡口区| 绥德县| 东源县| 佛冈县| 乌兰县| 龙口市| 广河县| 阿拉善盟| 琼海市| 彩票| 青铜峡市| 承德县| 嘉善县| 高雄县| 武清区| 增城市| 沂水县| 宜城市| 武城县| 合作市| 锦屏县| 多伦县| 娄底市| 孝昌县| 石棉县| 邯郸县| 城固县| 新邵县| 通渭县| 佛学| 博白县| 土默特右旗| 秀山| 磐安县| 廉江市| 正蓝旗| 绥棱县| 丹江口市| 栾川县|