加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在tomcat上运行非web java应用程序

发布时间:2020-12-14 06:08:16 所属栏目:Java 来源:网络整理
导读:我有一个简单的Java应用程序,我需要一直运行(也可以在服务器重启时自动启动). 我曾考虑过服务包装器,但是Windows版本已付费. 有没有办法可以配置Tomcat自动运行项目中的特定类或任何其他可以提供相同结果的解决方案? 最佳答案 我认为你需要的是一个同时以to

我有一个简单的Java应用程序,我需要一直运行(也可以在服务器重启时自动启动).
我曾考虑过服务包装器,但是Windows版本已付费.
有没有办法可以配置Tomcat自动运行项目中的特定类或任何其他可以提供相同结果的解决方案?

最佳答案
我认为你需要的是一个同时以tomcat开头的应用程序(无论是web还是非web).

好吧,你需要一个简单的Web应用程序来注册一个监听器(监听应用程序启动事件,即tomcat启动事件)并启动你的类.

你的web.xml中非常简单,你声明一个这样的监听器:

在ApplicationListener类中,您实现了ServletContextListener接口.这是一个例子:

import java.io.File;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;



/**
 * Class to listen for application startup and shutdown
 * 
 * @author HBR
 * 
 */
public class ApplicationListener implements ServletContextListener {
    private static Logger logger = Logger.getLogger(ApplicationListener.class);

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        logger.info("class : context destroyed");

    }

    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        ServletContext context = servletContextEvent.getServletContext();
        ///// HERE You launch your class
        logger.info("myapp : context Initialized");
    }



}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读