java - 如何通过servletcontextlistener停止tomcat启动

标签 java tomcat servletcontextlistener

如果某些条件没有发生,有没有办法停止tomcat的启动?

例如,我希望 servletContextListener 的 contextInitialized 方法检查各种属性文件属性以及验证数据库连接等。

我已经看到通过 MBean 事件关闭 tomcat 的方法,但它需要主机、关闭端口。在我的例子中,我希望有一个基类可以在同一台服务器上的多个 tomcat 中使用(每个都有自己的关闭端口)。

最佳答案

您可以调用 Tomcat 的关闭端口(通常为 8005)...您只需要端口号和文本(例如 8005 和 SHUTDOWN)。鉴于您在主机上(servletContextListener 在 Tomcat 中运行),您不需要主机名。本地主机应该可以解决问题。

另一种方法是让您的 Java 代码在服务器上运行一个进程 - 调用 ./shutdown.sh 但这需要知道该脚本的位置。

关于java - 如何通过servletcontextlistener停止tomcat启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58583802/

相关文章:

Apache2 mod_evasive vs mod_security 与 OWASP crs 在防御 DDOS 时?

apache - 坚持部署 WAR 文件。 "FAIL - Application at context path/could not be started"

java - 如何在通过Jsp访问的servlet中实现ServletContextListener

java - 严重: Error listenerStart in java web application

java - 配置 logback 以按大小滚动,但不按日期滚动

java - 在 onStopTrackingTouch 中获得进度,而不是在搜索栏中的 onProgressChanged 中获得进度

session - ZK Tomcat - NotSerializableException : ResetableInputStream

java - JSF ApplicationScoped Bean 在 ServletContextListener 中使用 CDI 多次初始化

java - EJB - 如何按非索引字段搜索?

java - 确定哪个 jar 文件包含 org.apache.lucene 类文件