当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>Java在Web操纵下实现按时任务简便办法</b>[Java编程]

赞助商链接



  本文“<b>Java在Web操纵下实现按时任务简便办法</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在WEB利用下实现按时任务的简便办法

在web方法下,假如我们要实现按期履行某些任务的话,除了用quartz等第三方开源工具外,我们可以利用Timer和TimeTask来完成指定的按时任务:

第一步:成立一个任务管理类,实现ServletContextListener 接口

以下是引用片段:

public class TaskManager implements ServletContextListener {
/**
 * 每天的毫秒数
 */
public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;
/**
 * 一周内的毫秒数
 */
public static final long PERIOD_WEEK = PERIOD_DAY * 7;
/**
 * 无耽误
 */
public static final long NO_DELAY = 0;
/**
 * 按时器
 */
private Timer timer;
/**
 * 在Web利用启动时初始化任务
 */
public void contextInitialized(ServletContextEvent event) {
    //定义按时器
 timer = new Timer("数据库表备份",true);
 //启动备份任务,每月(4个星期)履行一次
 timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_WEEK * 4);
// timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);
}
/**
 * 在Web利用完毕时终止任务
 */
public void contextDestroyed(ServletContextEvent event) {
 timer.cancel(); // 按时器销毁
}
}

第二步:成立一个时间任务类

以下是引用片段:

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("开始履行任务..."); //开始任务
  //working add what you want to do
  log.debug("履行任务完成..."); //任务完成
  isRunning = false;
 } else {
  log.debug("上一次任务履行还未完毕..."); //上一次任务履行还未完毕
 }
}
}

第三步:在web中增添一个监听器

以下是引用片段:

<listener>
 <listener-class>***.TaskManager</listener-class>
 <description>要按期履行的任务</description>
</listener>

在web服务器启动的时刻,任务也被启动,并且会周期性的履行.


  以上是“<b>Java在Web操纵下实现按时任务简便办法</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .