package org.wlkj.servlet;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TaskManager implements ServletContextListener {
/**
* 每天的毫秒数
*/
public static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
/**
* 一周内的毫秒数
*/
public static final long PERIOD_WEEK = PERIOD_DAY * 7;
/**
* 无延迟
*/
public static final long NO_DELAY = 0;
/**
* 定时器
*/
private Timer timer;
/**
* 在Web应用启动时初始化任务
*/
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
timer.cancel(); // 定时器销毁
}
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
//定义定时器
timer = new Timer("数据库表备份",true);
//启动备份任务,每月(4个星期)执行一次
timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_DAY);
// timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);
}
}
package org.wlkj.servlet;
import java.util.TimerTask;
public class BackUpTableTask extends TimerTask {
private static boolean isRunning = false;
@Override
public void run() {
// TODO Auto-generated method stub
if (!isRunning) {
isRunning = true;
System.out.println(": 开始执行任务..."); //开始任务
//working add what you want to do
System.out.println(": 执行任务完成..."); //任务完成
isRunning = false;
} else {
System.out.println("上一次任务执行还未结束..."); //上一次任务执行还未结束
}
}
}
web.xml文件
<listener>
<listener-class>org.wlkj.servlet.TaskManager</listener-class>
<description>要定期执行的任务</description>
</listener>
呵呵!
分享到:
相关推荐
当提到服务器端调用客户端可执行文件时,我们指的是服务器想要影响或控制客户端计算机的行为,这在某些场景下可能是必要的,例如自动化任务、数据处理或提供定制化的用户体验。 JavaScript,作为Web开发中最常用的...
压缩包中的"webSrv.exe"可能是某个Web服务器的简化版或定制版,具体信息不足无法详细分析。但一般来说,这样的程序可能会提供快速启动Web服务的功能,适合对服务器管理不熟悉的用户。 总的来说,选择“最好的Web...
通过上述内容,我们可以构建一个基于Quartz的Web应用定时任务系统,实现任务的自动执行。对于"Quartz_demo"这个压缩包文件,可能包含了示例代码、配置文件和说明文档,可以进一步帮助学习和实践Quartz在Web环境中的...
在维护Web服务器的过程中,需要关注和掌握许多知识点,以便确保服务器的安全性、稳定性和高效性。从所提供的文件内容中,我们可以提取出以下几个关键知识点进行详细说明: 1. **Web服务器软件**: - IIS (Internet...
在"Quartz.net作业调度自定义定时执行任务多任务执行c#"这个主题中,我们将深入探讨如何使用Quartz.NET来实现自定义的定时任务,以及如何处理多任务执行。 首先,我们需要理解Quartz.NET的基本概念。在Quartz.NET中...
而对于有经验的开发者,它则可以作为一个基础平台,用于扩展和定制自己的Web服务器功能。 总的来说,Tiny-WebServer-master是一个实用的学习工具,它展示了如何使用C语言实现一个简单的Web服务器,同时提供了深入...
重叠I/O是一种非阻塞I/O模型,允许I/O操作在后台执行,而主线程可以继续处理其他任务。这极大地提高了系统的并发性能,特别是在高负载的Web服务器环境中。使用WSAAsyncSelect或WSAEventSelect函数,WebSocketPP可以...
嵌入式WEB服务器是将网页服务功能集成到各种硬件设备上的技术,这些设备通常资源有限,如微控制器、路由器或物联网(IoT)设备。它允许用户通过标准的Web浏览器进行设备配置、监控和控制,极大地扩展了硬件设备的功能...
通过学习和理解这些源代码,开发者可以了解Web服务器的工作原理,并基于此进行定制化开发,如增加特定功能、优化性能或解决特定场景下的问题。 【标签】"c#-web服务器"进一步强调了该压缩包的核心内容是关于使用C#...
在Windows CE(简称WinCE)操作系统中,构建一个Web服务器是一项关键任务,尤其对于嵌入式设备和物联网应用。周立功的WEB服务器资料提供了一种实用的解决方案,适合WinCE设计工程师参考学习。以下是对这个主题的详细...
易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语句,降低了编程的门槛...通过对源码的深入研究,我们可以了解到易语言在实现Web服务器这一复杂任务上的具体实现方式,从而加深对编程和网络技术的理解。
FPGA(Field-Programmable Gate Array)作为一种可编程逻辑器件,因其灵活性和高速处理能力,被广泛应用于各种嵌入式系统的设计中,包括WEB服务器。本文将详细介绍一种基于 FPGA 的 WEB 服务器的设计与实现,重点...
用户可以在本地或云服务器上搭建Huginn实例,并通过Web界面进行配置。值得注意的是,Huginn的社区非常活跃,提供了丰富的插件和示例,使得扩展功能和学习使用变得更加容易。 然而,如同任何自动化工具一样,Huginn...
总结,httpd Web服务器源码的分析是一项深入理解Web服务器工作原理的重要任务。从请求处理到模块化设计,从文件读写到并发控制,每一个细节都揭示了httpd的强大与灵活。通过研究源码,开发者不仅可以定制自己的...
Executor UI则为每个executor提供了一个独立的页面,显示了executor内部的任务执行情况、内存使用、GC日志等。 接下来,我们要提到的是`spark-submit`命令,这是Spark提供的用于提交应用程序的工具。通过`spark-...
本文将详细探讨这一主题,涉及Linux操作系统、Web服务器的基本原理,以及如何在嵌入式环境中实现一个支持动态内容的服务器。 首先,Linux作为开源的操作系统,其诞生和发展使其成为了嵌入式领域的首选平台。Linux...
当用户请求动态内容时,CGI脚本被调用执行,并将结果返回给Web服务器,再由服务器发送给客户端。在Boa这样的嵌入式Web服务器中,CGI支持是实现动态网页的关键。 6. Boa Web服务器的使用 Boa是一个轻量级的Web...