Java定时器
来源:互联网 发布:gcc stl源码 编辑:程序博客网 时间:2024/06/06 00:58
在Web工程中实现定时器
因为在项目启动时,定时器就要启动计时,并在规定的时间内触发相应的任务,所以定时器的生命期就是整个项目的生命期,那么最好的方式就是使用监听器了,项目启动后,就会在整个项目的生命周期中处于监听状态。
现在来实现一个简单的定时器
首先编写一个监听器TimerListener
import java.util.Timer;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.http.HttpServlet;/** * * @author Administrator * */public class TimerListener extends HttpServlet implements ServletContextListener {private static final long serialVersionUID = 1L;private Timer timer = null;public TimerListener() {}/* * 销毁 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) */public void contextDestroyed(ServletContextEvent event) {this.timer.cancel();event.getServletContext().log("定时器销毁");}/* * 初始启动 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) */public void contextInitialized(ServletContextEvent event) {this.timer = new Timer();event.getServletContext().log("定时器启动");//参数1指MyTimerTask()需要调动执行的任务,参数2为无延迟,参数3为每小时触发一次this.timer.schedule(new MyTimerTask(), 0, 60*60*1000 );event.getServletContext().log("定时器任务启动");}}
完成监听器的编写后,接下来实现定时器的编写,定时器中执行的任务就不写了,只是打印一行符合吧
import java.util.TimerTask;import javax.servlet.ServletContext;/** * * @author Administrator * */public class MyTimerTask extends TimerTask {private ServletContext servletContext = null;private static boolean isRunning = false;public MyTimerTask(){}public MyTimerTask(ServletContext servletContext){this.servletContext = servletContext;}@Overridepublic void run() {if(!isRunning){isRunning = true;servletContext.log("开始执行定时任务");//执行相应任务System.out.println("------------------->");servletContext.log("定时任务执行完成");isRunning = false;}else{servletContext.log("上传定时任务为完成");}}}
OK,完成,最后记得再配置文件中添加监听器
<listener> <listener-class>packagename.TimerListener</listener-class> </listener>
0 0
- [Java--定时器]--定时器举例
- JAVA定时器
- java 定时器
- JAVA定时器
- java定时器
- JAVA定时器
- Java定时器
- JAVA定时器
- JAVA定时器
- java定时器
- Java定时器
- JAVA 定时器
- java定时器
- java定时器
- java定时器
- java定时器
- java定时器
- java 定时器
- Redis 字典用到的哈希函数
- 跨站脚本攻击XSS
- RMAN备份进度查询
- Android 定时刷新UI
- Java Thread&Concurrency(9): 深入理解StampedLock及其实现原理
- Java定时器
- BST删除重复键实现,非递归实现
- mysql语句(更新)
- ubuntu给手机建wifi(14.04)测试成功
- NYOJ51 管闲事的小明
- LeetCode-Climbing Stairs
- 传亚马逊计划今年创办本地服务市场
- <乔布斯传>感触
- 一个细节问题——__builtin_compose_128还是memcpy还是强制类型转换