我有一个简单的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");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。