基本思路如下:
1、定义一个实现了ServletContextListener的类
2、在contextInitialized()和contextDestroyed()调用自定义的定时程序
3、在web.xml里面配置这个 ServletContextListener
代码示例:
(程序来源 http://blog.csdn.net/zhuche110/archive/2008/05/06/2400122.aspx)
public class WorkServiceImpl implements WorkService , ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0){
timer.cancel();
System.out.println("定时器已销毁");
}
public void contextInitialized(ServletContextEvent event){
timer = new java.util.Timer(true);
sampleTask = new SampleTask(event.getServletContext());
System.out.println("定时器已启动");
timer.schedule(sampleTask, 0, 60 * 60 * 1000);
System.out.println("已经添加任务调度表");
}
}
class SampleTask extends TimerTask{
private ServletContext context;
private static boolean isRunning = false;
private static boolean flag = true;
private static final int C_SCHEDULE_HOUR = 23;
private WorkServiceImpl workService;
public SampleTask(ServletContext context){
this.context = context;
}
public void run() {
workService = new WorkServiceImpl();
Calendar cal = Calendar.getInstance();
if (!isRunning){
if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY) && flag){
isRunning = true;
workService.autoWorkOff();
isRunning = false;
flag = false;
context.log("指定任务执行结束");
}
} else{
context.log("上一次任务执行还未结束");
}
if(C_SCHEDULE_HOUR != cal.get(Calendar.HOUR_OF_DAY)){
flag = true;
}
}
}
要使用此监听器需要在web.xml中配置,如下:
<listener>
<listener-class>com.css.wam.service.impl.WorkServiceImpl </listener-class>
</listener>
分享到:
相关推荐
单独使用struts的包
struts核心架构分析图struts核心架构分析图struts核心架构分析图struts核心架构分析图
Struts2技术内幕 深入解析Struts架构设计与实现原理
Struts2_动态方法调用,使用struts2架构的动态方法进行资源调用
struts架构代码struts架构代码struts架构代码
NULL 博文链接:https://takeme.iteye.com/blog/1631525
Struts架构指导,精通Struts技术,有意者看看。
资源名称:Struts2技术内幕:深入解析Struts架构设计与实现原理内容简介:本书由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。...
学习Struts 的好资料,配置Struts组件,深入Struts架构
此文档为Struts架构下的XhEditor的完整案例,可以直接使用。
struts架构指导,struts架构指导,struts架构指导
Struts2调用EJB异常项目包,出现的问题以及解决方案参见EJBStruts.zip中的说明.txt 以及博客 http://blog.csdn.net/icecream0/article/details/7167853
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
用struts架构写的电子银行系统 可以javaweb开发者参考
Struts架构指导.pdf
这是 struts架构的指导。它包括一些step by step的小应用程序,可以让你短时间内用struts工作。 内容: 01.介绍 02.Struts的安装 03.第一个实验:简单的JSP页 04.第二个实验:struts的国际化 05.struts中的...
Struts架构指导 Struts架构指导
struts2动态调用之通配符,相当于是改进的method动态调用方法,减少对同一action不同method的多次配置