`
liyonghui160com
  • 浏览: 774743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在tomcat启动的时候执行一个方法呢

阅读更多

 

每个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自定义方法

    tomcat启动时执行java自定义方法,一般用于启动时赋值情况。

    quartz 随tomcat启动执行一次

    ### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...

    tomcat启动时,在后台自动执行一线程

    要实现在Tomcat启动时自动执行的Servlet,我们需要在Servlet的`init()`方法中添加代码来创建一个后台线程。`init()`方法是Servlet生命周期中的初始化阶段,当Servlet被加载时,Tomcat会调用这个方法。我们可以在`...

    tomcat启动管理工具

    "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启动时定时循环执行内容(action)”指的是在Tomcat服务器启动过程中,通过配置或者自定义代码实现一个定时任务,使得该任务在Tomcat启动后能够周期性地自动执行。这种机制常用于需要定期检查、更新...

    Tomcat启动顺序

    【标题】:Tomcat启动顺序 【描述】:Tomcat作为Apache软件基金会的开源Java Servlet容器,其启动过程是理解其工作原理的关键部分。Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、...

    Tomcat启动停止脚本

    提供的"Tomcat停止启动脚本"可能是一个整合了启动和停止功能的自定义脚本,它可以更方便地在一个步骤中完成启动和停止的操作。这种自定义脚本可能会包含错误检查、日志记录等功能,提高管理和监控的效率。 五、安全...

    Tomcat启动分析以及如何启动

    - `&lt;Listener&gt;`:监听器,用于在Tomcat启动和停止时执行特定任务,如初始化或清理。 - `&lt;Service&gt;`:定义Service的名称和其他属性,通常包括一个或多个Connector和一个Engine。 - `&lt;Connector&gt;`:配置Connector的...

    tomcat启动服务运行servlet

    标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...

    centos设置tomcat开机自启动

    2. **安装Tomcat**:下载并安装Tomcat到一个合适的目录,例如`/usr/local/tomcat7_1`。 3. **配置环境变量**:确保已经在系统的环境变量中正确配置了`JAVA_HOME`等必要的环境变量。 #### 三、实现Tomcat开机自启动...

    struts2中,在tomcat启动时候总是出现严重

    为了更具体地解决问题,需要查看`struts2中,在tomcat启动时候总是出现严重.txt`这个文本文件,它应该包含了详细的错误堆栈信息。根据这些信息,我们可以进一步定位问题所在,并采取相应的解决措施。如果文件中包含...

    内嵌式tomcat启动web工程

    在本教程中,我们将深入探讨如何使用Maven来配置和启动一个内嵌式的Tomcat服务器,以便运行Web工程。 首先,我们需要在项目中添加Tomcat内嵌库。在Maven的`pom.xml`文件中,我们需要引入`tomcat7-maven-plugin`或`...

    Tomcat开机自启动

    "Tomcat开机自启动" Tomcat开机自启动是指在 Linux 操作系统中,使 Tomcat 服务器在系统启动时自动启动的过程。...在本文中,我们介绍了 Tomcat 开机自启动的步骤和相关知识点,为读者提供了一个详细的指南。

    tomcat6启动脚本

    在Java Web应用领域,Tomcat作为一个流行的开源Servlet容器,被广泛用于部署和管理Web应用程序。然而,要确保Tomcat顺利运行,正确理解和配置启动脚本至关重要。本文将详细解析Tomcat6的启动脚本及其相关设置。 ...

    Windows 启动tomcat服务bat 可执行脚本

    Windows系统下 启动tomcat服务bat 可执行脚本,当开发人员想要通过在java中开发一个启动Windows系统下tomcat的脚本文件时,就可以使用我这个

    java 定时器任务timer 随tomcat启动而启动 同步启动

    我们通常写的timer都是用main方法写的定时器,但同样我们...不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台服务器上执行就行了,其他服务器注释掉web中的监听就行了。

    Ant编译Tomcat源码、MyEclipse导入Tomcat源码、执行Tomcat源码启动Tomcat

    在Apache Tomcat的源码中,通常会有一个名为`build.xml`的Ant构建脚本,用于指导整个构建过程。在编译Tomcat源码之前,确保已安装Java JDK和Ant。下载并解压`apache-tomcat-6.0.37-src.zip`后,进入解压后的目录,...

    自动启动Tomcat_C#_tomcat_

    5. **事件处理**:C#允许设置事件处理器,当特定事件(如进程结束)发生时,程序可以做出响应,比如在此情况下启动一个新的Tomcat实例。 6. **命令行接口(CLI)**:Tomcat提供了命令行工具,如`startup.sh`和`...

    tomcat启动和关闭

    标题中的“Tomcat启动和关闭”是指在Apache Tomcat服务器中进行服务的启停操作,这是每个Java Web开发者必备的基础技能。Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范...

Global site tag (gtag.js) - Google Analytics