java深度探究--java监控程序思路--Listener,Timer监控--定时任务
2014-01-08 12:24
477 查看
使用listener,来完成监控程序和定时任务
在方法contextInitialized中添加监控方法
public void contextInitialized(ServletContextEvent arg0) {
Auto ();
}
在方法 Auto ()中写监控程序,通过timer来设定执行时间
2、如果指定执行时间已经过了工程部署时间,例如你在周三指定周二执行,那么timer以你部署工程的时间为准来定时执行
1、web.xml中配置要执行的类
<listener> <listener-class>com.epg.control.listener.TestListener</listener-class> </listener>
2、TestListener类
package com.epg.control.listener; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; /** * 测试监控 * @author anjl * */ public class TestListener implements ServletContextListener { public TestListener() { } public void contextInitialized(ServletContextEvent arg0) { Auto(); } public void contextDestroyed(ServletContextEvent arg0) { } /** * 自动监控方法 */ public void Auto() { //程序启动后,5秒监控,只跑一次 Timer time = new Timer(); time.schedule(new TimerTask() { public void run() { try{ listenMethod(); }catch(Exception e){ System.out.println("监控出现异常"); } } }, 5000); //每周六早上8点5分运行,之后每隔一周运行一次 Timer timer = new Timer(); Calendar c = Calendar.getInstance(); c.set(Calendar.DAY_OF_WEEK, 7);//每周六 c.set(Calendar.HOUR_OF_DAY, 8);//每天8:00运行 c.set(Calendar.MINUTE, 5);//5分 c.set(Calendar.SECOND, 0);//秒设置为0 timer.schedule(new TimerTask() { public void run() { try{ listenMethod(); }catch(Exception e){ System.out.println("监控出现异常"); } } }, c.getTime(), 7*24 * 3600 * 1000); } public void listenMethod(){ System.out.println("我在监控!!!"); } }
解释:
TestListener类要implements ServletContextListener在方法contextInitialized中添加监控方法
public void contextInitialized(ServletContextEvent arg0) {
Auto ();
}
在方法 Auto ()中写监控程序,通过timer来设定执行时间
注意点:
1、run方法中要捕获异常,否则抛异常给Timer后,Timer会停止2、如果指定执行时间已经过了工程部署时间,例如你在周三指定周二执行,那么timer以你部署工程的时间为准来定时执行
相关文章推荐
- java深度探究--java监控程序思路--Listener,Timer监控--定时任务
- java深度探究--java监控程序思路--Listener,Timer监控--定时任务
- Java中定时任务的实现:Timer与ScheduledExecutorService的不同
- java.util.Timer 定时任务的执行
- Java 中Timer和TimerTask 定时器和定时任务使用的例子
- Java基础--定时任务Timer
- Java定时任务调度工具详解之Timer篇(初级)Timer函数的综合应用
- Linux crontab处理定时任务-------执行java程序
- java.util.Timer类似于闹钟定时做任务
- 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序
- 在Listener(监听器)定时启动的TimerTask(定时任务)中使用Spring@Service注解的bean
- 【服务器】服务器上设置定时任务,定时执行Java程序
- java timer 定时任务
- JAVA定时任务Timer、Spring Task、Quartz
- java中设置定时任务用Timer类可以实现
- 定时任务 java.util.Timer和TimerTask
- java学习—— Timer执行定时任务
- java自带定时任务功能(Timer&TimerTask)
- java Timer 定时每天凌晨1点执行任务
- 定时任务:Java中Timer和TimerTask的使用