如果某些条件没有发生,有没有办法停止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/