网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java:web应用下实现定时任务简便方法     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:64次  录入:管理员--2007-11-16  
 

在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服务器启动的时候,任务也被启动,并且会周期性的执行。

 
 
上一篇: jsf与web的完美组合 高度提升开发效率    下一篇: java中对使用列表对象的性能分析和测试
  相关文档
字符 11-17
sequoia 2.5 发布-jdbc集群 11-17
linux 平台的 jvm 性能评测 11-17
深入了解weblogic的类装载机制详解 11-16
nhibernate学习之起步篇 11-17
java经验谈:尽可能使用堆栈变量 11-16
使用ejb 3.0简化企业级java开发二 11-17
反思spring:由ruby on rails想到的 11-17
如何安装配置tomcat5.0环境并绑定域名 11-16
实体对象的抽象以及一种基于数据库的实现 11-17
安装配置:zip版本的tomcat配置新手入门 11-16
要使用 ejb 组件你需要了解些什么呢? 12-11
java如何调用可执行文件和批处理命令 11-17
在jsp编程中application的使用方法详解 11-16
开发框架--在tomcat下中文的彻底解决 01-16
jboss 5迎来中间件彻底的可配置时代 11-17
获取本地计算机和其他计算机的mac值的方法 11-17
hsqldb+eclipse3+swt开发界面(组图) 11-17
用ant和eclipse有效地提高部署效率 11-17
java核心代码例程之:jniexample.java 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息