每个tomcat的应用有一个web.xml文件。
在里面可以配置ContextLinstner。这个会随Tomcat的启动而启动。
tomcat重启以后它也重启。
不知道行不行?
具体的方法:
<web-app>
<listener>
<listener-class>my.TreeServerContextListener</listener-class>
</listener>
</web-app>
--------------------------------------------
然后你写一个TreeServerContextListener放在WEB-INF目录的classes目录下。
例子:
public class TreeServerContextListener implements ServletContextListener
{
private TreeServerDataManager dataManagerThread = null;
public TreeServerContextListener()
{
dataManagerThread = TreeServerDataManager.getInstance();
}
public void contextInitialized(ServletContextEvent sce)
{
System.out.println("-----------------Init-------------------");
dataManagerThread.start();
}
public void contextDestroyed(ServletContextEvent sce)
{
dataManagerThread.close();
System.out.println("-----------------Destroy-----------------");
}
}
----------------------------------------------------------------------------------
其中dataManagerThread 我的为一个线程。
你可以换成TimeTask,这样子就可以定时执行任务。
public class TimeListener implements ServletContextListener {
//拦截得到DataCheckTemplateService
private ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
private DataCheckTemplateService dataCheckService = (DataCheckTemplateService) applicationContext.getBean("dataCheckTemplateService");
private Timer timer=null;
//设置执行的时间为小时,每minute执行一次看是否到设置执行的时间
private static final long PERIOD_TIME = 60 * 1000;
private Log log = LogFactory.getLog(getClass());
@Override
public void contextInitialized(ServletContextEvent event) {
if(DataCheckConfigration.getIsRun().equals("true")) {
timer = new Timer(true);
timer.schedule(new DataCheckTask(dataCheckService), 0, PERIOD_TIME);
}
else
{
log.info("此机器不执行定时任务");
}
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
timer.cancel();
}
}
public class DataCheckTask extends TimerTask {
private DataCheckTemplateService dataCheckService;
public DataCheckTask(DataCheckTemplateService dataCheckService) {
this.dataCheckService = dataCheckService;
}
private Log log = LogFactory.getLog(getClass());
public void run() {
log.info("定时任务启动,没有到运行时间!");
}
}
相关推荐
tomcat启动时执行java自定义方法,一般用于启动时赋值情况。
### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...
要实现在Tomcat启动时自动执行的Servlet,我们需要在Servlet的`init()`方法中添加代码来创建一个后台线程。`init()`方法是Servlet生命周期中的初始化阶段,当Servlet被加载时,Tomcat会调用这个方法。我们可以在`...
"Tomcat启动管理工具"指的是用于控制和监控Tomcat服务器的一系列方法和工具。 【描述】:Tomcat启动管理工具涵盖了启动、停止、监控以及配置Tomcat服务器的过程。这些工具可以帮助开发者有效地管理他们的应用服务,...
tomcat启动|退出执行事件类: import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import ...
标题中的“tomcat启动时定时循环执行内容(action)”指的是在Tomcat服务器启动过程中,通过配置或者自定义代码实现一个定时任务,使得该任务在Tomcat启动后能够周期性地自动执行。这种机制常用于需要定期检查、更新...
【标题】:Tomcat启动顺序 【描述】:Tomcat作为Apache软件基金会的开源Java Servlet容器,其启动过程是理解其工作原理的关键部分。Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、...
提供的"Tomcat停止启动脚本"可能是一个整合了启动和停止功能的自定义脚本,它可以更方便地在一个步骤中完成启动和停止的操作。这种自定义脚本可能会包含错误检查、日志记录等功能,提高管理和监控的效率。 五、安全...
- `<Listener>`:监听器,用于在Tomcat启动和停止时执行特定任务,如初始化或清理。 - `<Service>`:定义Service的名称和其他属性,通常包括一个或多个Connector和一个Engine。 - `<Connector>`:配置Connector的...
标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...
2. **安装Tomcat**:下载并安装Tomcat到一个合适的目录,例如`/usr/local/tomcat7_1`。 3. **配置环境变量**:确保已经在系统的环境变量中正确配置了`JAVA_HOME`等必要的环境变量。 #### 三、实现Tomcat开机自启动...
为了更具体地解决问题,需要查看`struts2中,在tomcat启动时候总是出现严重.txt`这个文本文件,它应该包含了详细的错误堆栈信息。根据这些信息,我们可以进一步定位问题所在,并采取相应的解决措施。如果文件中包含...
在本教程中,我们将深入探讨如何使用Maven来配置和启动一个内嵌式的Tomcat服务器,以便运行Web工程。 首先,我们需要在项目中添加Tomcat内嵌库。在Maven的`pom.xml`文件中,我们需要引入`tomcat7-maven-plugin`或`...
"Tomcat开机自启动" Tomcat开机自启动是指在 Linux 操作系统中,使 Tomcat 服务器在系统启动时自动启动的过程。...在本文中,我们介绍了 Tomcat 开机自启动的步骤和相关知识点,为读者提供了一个详细的指南。
在Java Web应用领域,Tomcat作为一个流行的开源Servlet容器,被广泛用于部署和管理Web应用程序。然而,要确保Tomcat顺利运行,正确理解和配置启动脚本至关重要。本文将详细解析Tomcat6的启动脚本及其相关设置。 ...
Windows系统下 启动tomcat服务bat 可执行脚本,当开发人员想要通过在java中开发一个启动Windows系统下tomcat的脚本文件时,就可以使用我这个
我们通常写的timer都是用main方法写的定时器,但同样我们...不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台服务器上执行就行了,其他服务器注释掉web中的监听就行了。
在Apache Tomcat的源码中,通常会有一个名为`build.xml`的Ant构建脚本,用于指导整个构建过程。在编译Tomcat源码之前,确保已安装Java JDK和Ant。下载并解压`apache-tomcat-6.0.37-src.zip`后,进入解压后的目录,...
5. **事件处理**:C#允许设置事件处理器,当特定事件(如进程结束)发生时,程序可以做出响应,比如在此情况下启动一个新的Tomcat实例。 6. **命令行接口(CLI)**:Tomcat提供了命令行工具,如`startup.sh`和`...
标题中的“Tomcat启动和关闭”是指在Apache Tomcat服务器中进行服务的启停操作,这是每个Java Web开发者必备的基础技能。Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范...