stop tomcat web application 优雅地关闭所有 servlet 连接

Posted

技术标签:

【中文标题】stop tomcat web application 优雅地关闭所有 servlet 连接【英文标题】:stop tomcat web application gracefully shutdown all servlet connections 【发布时间】:2012-06-14 09:33:41 【问题描述】:

我们想要创建数据库的备份,但需要知道所有连接都在我们的 Web 应用程序后面关闭。

因此,如果我向 Tomcat 中的特定 Web 应用程序发送停止,它会等待并正常关闭其后面的所有作业/进程(与 H2 DB 的连接)并且不再接受任何传入请求吗?

【问题讨论】:

你是要停止 webapp,还是要停止整个 Tomcat 服务器? 问题清楚地表明“因此,如果我向 Tomcat 中的 特定 Web 应用程序发送停止”。所以他正在停止一个 web 应用程序,而不是整个服务器。 确实,我正在停止一个 webapp 而不是整个 Tomcat。 【参考方案1】:

Tomcat 不会终止您可能已打开到数据库的任何连接:您必须自己终止这些连接。当您的 web 应用程序关闭时,请尝试使用 ServletContextListener 关闭所有数据库连接。

【讨论】:

感谢克里斯托弗的回答,这很有帮助

以上是关于stop tomcat web application 优雅地关闭所有 servlet 连接的主要内容,如果未能解决你的问题,请参考以下文章

关于tomcat启动报“this web application instance has been stopped already”的处理

Tomcat报错 Illegal access: this web application instance has been stopped already. Could not load

tomcat使用stop.sh脚本无法关闭

tomcat filewatchdog but has failed to stop it原因以及解决方法

eclipse部署web项目至本地tomcat, webapps中找不到

TOMCAT - org.apache.catalina.startup.Catalina stopServer 严重:Catalina.stop: