`
javaeyetodj
  • 浏览: 425995 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java定时器案例

阅读更多

转自http://tomenjoy.iteye.com/blog/157268

2007年09月12日 星期三 下午 04:(java.util.Timer)有定时触发计划任务的功能,通过配置定时器的间隔时间,在某一间隔时间段之后会自动有规律的调用预先所安排的计划任务(java.util.TimerTask)。另外,由于我们希望当Web工程启动时,定时器能自动开始计时,在整个Web工程的生命期里,定时器能在每晚深夜触发一次报表计算引擎。因此定时器的存放位置也值得考查,不能简单的存在于单个Servlet或JavaBean中,必须能让定时器宿主的存活期为整个Web工程生命期,在工程启动时能自动加载运行。结合这两点,跟Servlet上下文有关的侦听器就最合适不过了,通过在工程的配置文件中加以合理配置,会在工程启动时自动运行,并在整个工程生命期中处于监听状态。 

......下面就Servlet侦听器结合Java 定时器来讲述整个实现过程。要运用Servlet侦听器需要实现javax.servlet.ServletContextListener接口,同时实现它的contextInitialized(ServletContextEvent     event)和contextDestroyed(ServletContextEvent     event)两个接口函数。考虑定时器有个建立和销毁的过程,看了前面两个接口函数,就不容置疑的把建立的过程置入 contextInitialized,把销毁的过程置入contextDestroyed了。 
package com.derek.servlet; 

import javax.servlet.*; 
import javax.servlet.http.*; 
import com.derek.pub.TimerManager; 
/** 
* 启动定时器的监听器 
* @author derek 
* @version 1.0 
*/ 
public class TimerListener extends HttpServlet implements 
         ServletContextListener { 
    private TimerManager tm = null; 
    //Notification that the web module is ready to process requests 
    public void contextInitialized(ServletContextEvent sce) { 
      int day,hour,min,sec;      
       day = 26; hour = 16; min = 42; sec = 0;     
       tm = new TimerManager(day,hour,min,sec); 
     } 

    //Notification that the servlet context is about to be shut down 
    public void contextDestroyed(ServletContextEvent sce) { 
        tm.destoryTimer(); 
     } 
}package com.derek.pub; 

import java.util.Timer; 
import java.util.Date; 
import java.util.Calendar; 

/** 
* 定时器 
* @author derek 
* @version 1.0 
*/ 
public class TimerManager { 
     Timer t = null; 
    public TimerManager(int day,int hour,int min,int sec) { 
         time(day,hour,min,sec); 
     } 

    public void time(int day,int hour,int min,int sec){    
     Calendar c = Calendar.getInstance(); 
     c.set(Calendar.DAY_OF_MONTH,day); 
     c.set(Calendar.HOUR_OF_DAY,hour); 
     c.set(Calendar.MINUTE,min); 
     c.set(Calendar.SECOND,sec); 
     Date date = c.getTime(); 
     System.out.println(c.getTime()); 
     t= new Timer(); 
     MyTask mt = new MyTask(); 
     t.schedule(mt,date); 
     } 
    public void destoryTimer(){ 
     t.cancel(); 
     } 
}package com.derek.pub; 
import java.util.TimerTask; 
/** 
* 计划任务代码 
* @author derek 
* @version 1.0 
*/ 
public class MyTask extends TimerTask{ 
    public MyTask() { 
     } 
    /** 
      * 任务块 
     */ 
    public void run() { 
         System.out.println("定时器RUN"); 
     } 

分享到:
评论

相关推荐

    java Timer定时器实例 Spring实例.doc

    java Timer定时器实例 Spring实例.doc java Timer定时器实例 Spring实例.doc

    java_Timer定时器实例_Spring实例

    java_Timer定时器实例_Spring实例

    java定时器

    java定时器经典案例,部署环境jboss

    Spring Quartz 定时器示例(Java工程版)

    Spring Quartz 定时器示例(Java工程版),欢迎下载。

    JAVA定时器时间抓取

    这些demo案例是笔者,之前在开发过程中用到的一些测试案例,很实用,几乎和时间相关的都有了。

    java 定时器任务timer 随tomcat启动而启动 同步启动

    我们通常写的timer都是用main方法写的定时器,但同样我们也需要根据服务器启动后定时器也启动的 定时执行任务。不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台...

    定时完成Springmvc+mybatis+redis完成二级缓存

    使用springmvc集合mybatis完成登录的二级缓存案例,定时器定时完成数据加载存入redis中

    基于spring和quartz的定时任务案例

    最近要写一个java的定时任务,发现用spring和quartz部署起来最简单,并且可以方便的设置定时时间,这里是一个简单的demo,并配上了注释,简单易懂

    Java实用程序设计100例(源代码)

     定时器的使用  Java建立Http连接  用RMS记录个人信息  Java建立与断开数据库的连接  Java创建和配置数据源  Telnet客户端  FTP连接与浏览  时间日期服务器  Java聊天室  Java画图程序  存储与...

    Websocket案例

    这里对学习websocket的童鞋以及初学java架构思想有很好的帮助。 另外前台利用百度Echart来展示动态效果。 这对于学习Echart的童鞋也是一个很不错的案例。 这个案例很好的显示如何动态加载数据时,怎么来调用其API。 ...

    Java 中Timer和TimerTask 定时器和定时任务使用的例子

    主要介绍了Java 中Timer和TimerTask 定时器和定时任务使用的例子,非常具有实用价值,需要的朋友可以参考下

    java多线程编程_java多线程_

    2.讲解了在多线程中对并发访问的控制, 主要就是synchronized的使用, 由于此关键字在使用上非常灵活, 所以书中用了很多案例来介绍此关键字的使用, 为读者学习同步相关内容打好坚实的基础。3.介绍线程并不是孤独的...

    JAVA 范例大全 光盘 资源

    第21章 Java程序综合案例:教务处管理系统 705 21.1 登录界面的设计与代码实现 705 21.2 功能选择界面的设计 708 21.3 学生信息系统界面的设计 716 21.4 教师信息系统界面的设计 727 21.5 领导信息系统界面的...

    quratz动态配置实例

    quratz定时器动态增删改查,并把定时器保存到数据库,重启是自动读取定时器运行。

    java范例开发大全源代码

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置...

    java范例开发大全

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...

    java实现权限管理源码-middle-ware-parent:SpringBoot集成常用开发中间件,分库分表,缓存,消息队列,定时器,权限

    SpringBoot集成常用开发中间件,分库分表,缓存,消息队列,定时器,权限管理等组件 关于作者 推荐项目 序号 项目名称 GitHub地址 GitEE地址 推荐指数 01 Java描述设计模式,算法,数据结构 ☆☆☆☆☆ 02 Java基础、...

    Java范例开发大全 (源程序)

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置是否成功 7...

    Java范例开发大全(全书源程序)

    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...

Global site tag (gtag.js) - Google Analytics