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

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

Java:Web應(yīng)用下實(shí)現(xiàn)定時(shí)任務(wù)的簡便方法

2019-11-17 05:57:21
字體:
供稿:網(wǎng)友

  在WEB應(yīng)用下實(shí)現(xiàn)定時(shí)任務(wù)的簡便方法

  在web方式下,假如我們要實(shí)現(xiàn)定期執(zhí)行某些任務(wù)的話,除了用quartz等第三方開源工具外,我們可以使用Timer和TimeTask來完成指定的定時(shí)任務(wù):

  第一步:創(chuàng)建一個(gè)任務(wù)治理類,實(shí)現(xiàn)ServletContextListener 接口

以下是引用片段:
public class TaskManager implements ServletContextListener {
 /**
  * 天天的毫秒數(shù)
  */
 public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;
 /**
  * 一周內(nèi)的毫秒數(shù)
  */
 public static final long PERIOD_WEEK = PERIOD_DAY * 7;
 /**
  * 無延遲
  */
 public static final long NO_DELAY = 0;
 /**
  * 定時(shí)器
  */
 PRivate Timer timer;
 /**
  * 在Web應(yīng)用啟動時(shí)初始化任務(wù)
  */
 public void contextInitialized(ServletContextEvent event) {
        //定義定時(shí)器
  timer = new Timer("數(shù)據(jù)庫表備份",true);
  //啟動備份任務(wù),每月(4個(gè)星期)執(zhí)行一次
  timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_WEEK * 4);
//  timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);
 }
 /**
  * 在Web應(yīng)用結(jié)束時(shí)停止任務(wù)
  */
 public void contextDestroyed(ServletContextEvent event) {
  timer.cancel(); // 定時(shí)器銷毀
 }
}

  第二步:創(chuàng)建一個(gè)時(shí)間任務(wù)類

以下是引用片段:
public class BackUpTableTask extends TimerTask {
 private static Log log = LogFactory.getLog(BackUpTableTask.class);
 private static boolean isRunning = false;
 public void run() {
  if (!isRunning) {
   isRunning = true;
   log.debug("開始執(zhí)行任務(wù)..."); //開始任務(wù)
   //working  add what you want to do
   log.debug("執(zhí)行任務(wù)完成..."); //任務(wù)完成
   isRunning = false;
  } else {
   log.debug("上一次任務(wù)執(zhí)行還未結(jié)束..."); //上一次任務(wù)執(zhí)行還未結(jié)束
  }
 }
}

  第三步:在web中添加一個(gè)監(jiān)聽器

以下是引用片段:
 <listener>
  <listener-class>***.TaskManager</listener-class>
  <description>要定期執(zhí)行的任務(wù)</description>
 </listener>

  那么在web服務(wù)器啟動的時(shí)候,任務(wù)也被啟動,并且會周期性的執(zhí)行


  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁远县| 和平县| 策勒县| 宜春市| 诸暨市| 青海省| 聊城市| 兴海县| 宝丰县| 紫阳县| 玉树县| 浦北县| 洛隆县| 都匀市| 洛南县| 海林市| 穆棱市| 遵义县| 南昌市| 盐山县| 阿荣旗| 墨脱县| 绥芬河市| 嘉义县| 保靖县| 建德市| 道孚县| 综艺| 临泉县| 凤翔县| 天柱县| 横峰县| 临夏市| 荥经县| 图木舒克市| 额尔古纳市| 石家庄市| 旺苍县| 柯坪县| 奉化市| 靖远县|