`
king_tt
  • 浏览: 2109496 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用监听器实现Java Web的定时执行

 
阅读更多

定时器GoogleListener类:

package cn.edu.KFC.bean;

import java.util.Timer;//定时器类
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import cn.edu.KFC.bean.GoogleTimer;


public class GoogleListener implements ServletContextListener {
	private Timer timer = null;

	public void contextInitialized(ServletContextEvent event) {
		// 在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
		timer = new Timer(true);
		// 添加日志,可在tomcat日志中查看到
		event.getServletContext().log("定时器已启动");
		System.out.println("定时器已启动");
		// 调用GoogleTimer,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时,24*60*60*1000表示一天。
		timer.schedule(new GoogleTimer(event.getServletContext()), 0, 2 * 60 * 1000); //每2分钟执行一次GoogleTimer类
		event.getServletContext().log("已经添加任务");
		System.out.println("定时器已添加");
	}

	public void contextDestroyed(ServletContextEvent event) {// 在这里关闭监听器,所以在这里销毁定时器。
		timer.cancel();
		event.getServletContext().log("定时器销毁");
	}

}

被调用的GoogleTimer类的写法,注意extends TimerTask,并且在run()方法中执行业务:

package cn.edu.KFC.bean;

import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import cn.edu.KFC.bean.GoogleAnalytics;


public class GoogleTimer extends TimerTask{
	private ServletContext context = null;
	GoogleAnalytics ga = new GoogleAnalytics();
	public GoogleTimer(ServletContext context){
		this.context = context;
	}
	
	public void run(){
		ga.myTest();
	}

}
最后,在web.xml中设置监听器

<listener>
  <listener-class>cn.edu.KFC.bean.GoogleListener</listener-class>
 </listener>





分享到:
评论

相关推荐

    java web使用监听器实现定时周期性执行任务demo

    该demo只是实现定时监听、周期性执行任务的功能,而邮件发送、文件删除等自定义功能需要自行添加上去,只需在run方法下修改邮件发送、文件删除等功能即可;

    java轻松实现—定时任务

    只需要在web.xml文件中添加监听器listener,然后加入附件中的文件,并将lstener指向所添加的文件TimerTaskListener,定时任务的研发便可轻松搞定!

    在Java Web项目中添加定时任务的方法

    在Java Web程序中加入定时任务,这里介绍两种方式使用监听器注入,使用Spring注解@Scheduled注入,需要的朋友可以参考下

    Java Web实现添加定时任务的方法示例

    主要介绍了Java Web实现添加定时任务的方法,涉及java web定时任务控制类定义、调用及监听器定义、添加等相关操作技巧,需要的朋友可以参考下

    Java_Web开发实战1200例第1卷.part2

    第7章 过滤器与监听器技术 239 7.1 Servlet过滤器 240 7.2 监听器的应用 262 第8章 JSTL标签库 267 8.1 JSTL Core标签库 268 8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 ...

    Java_Web开发实战1200例第1卷.part3

    第7章 过滤器与监听器技术 239 7.1 Servlet过滤器 240 7.2 监听器的应用 262 第8章 JSTL标签库 267 8.1 JSTL Core标签库 268 8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 ...

    jkas-2.33版本下载

    Jkas (Java Kit As Server) 是一个为高效Java Web开发而诞生的轻量极框架,是一个基于MVC设计模式的Web应用框架,Jkas作为控制器(Controller)来建立模型与视图的数据交互。这样的设计也使得业务逻辑控制器能够与...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:简单介绍了监听器是 Quartz 框架的一个扩展点,实现一个监听器的基本步骤,最后说明了全局监听器和非全局监听器的区别。 第七章. 实现 Quartz 监听器 (第二部分) 内容提要:JobListener (Job 监听器) 的...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring中文帮助文档

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...

    Spring API

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    JBPM4工作流应用开始指南.rar

    241 11.2 流程定义转换工具 242 11.2.1 命令行执行 242 11.2.2 Java编码执行 243 11.3 jBPM3到jBPM4的语义变更及翻译 244 11.4 小结 246 第12章 流程虚拟机原理 247 12.1 PVM的架构 247 12.2 PVM的实现 250 12.3 小...

    spring chm文档

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    IBM WebSphere Portal门户开发笔记01

    32、LOTUS WEB CONTENT MANAGEMENT 中工具模块的使用 140 33、关闭浏览器时自动请求注销PORTAL 150 34、用户和组管理 150 35、更改登录后跳转页面 151 36、PORTAL-LOGIC:IF LOGGEDIN用户是否登录与注销 152 37、引入...

Global site tag (gtag.js) - Google Analytics