Tomcat 9需要1分钟才能停止

问题描述 投票:0回答:3

我在我的系统上安装了tomcat 9.0.14(Windows 10,Windows server 2016 R2) 我在启动 tomcat 服务时没有任何问题(在 2-3 秒内启动)。 然而,需要1分钟才能停止。 我认为我驻留在 webapps 下的项目之一需要时间,所以我删除了所有项目,但结果是相同的。 之后,我将其清空 webapps 文件夹以进一步检查 tomcat 仍然花了 1 分钟才停止。 我检查了日志文件,没有错误。Tomcat 停止时空闲了 1 分钟。

Common-deamon.log-------

[2019-01-08 16:30:02] [info]  [13948] Stopping service... 
[2019-01-08 16:30:03] [info]  [13948] Service stop thread completed.
[2019-01-08 16:31:03] [info]  [ 1940] Run service finished.
[2019-01-08 16:31:03] [info]  [ 1940] Commons Daemon procrun finished 

catalina.log--------

08-Jan-2019 16:30:02.399 INFO [Thread-6] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
08-Jan-2019 16:30:02.431 INFO [Thread-6] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]
08-Jan-2019 16:30:02.453 INFO [Thread-6] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
08-Jan-2019 16:30:02.453 INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
08-Jan-2019 16:30:02.453 INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"]

他们有什么方法可以减少 tomcat 9 的浸泡时间吗? 在 tomcat 8 中停止时间为 3-5 秒 任何帮助表示赞赏......

windows tomcat windows-services tomcat9
3个回答
2
投票

我可以通过

重现这个
  • 下载并解压
    apache-tomcat-9.0.14-windows-x64.zip
  • cd 至
    apache-tomcat/bin
  • service.bat install
  • 启动服务很快,停止它会延迟 60 秒。

这似乎是 Tomcat 的问题,但当前的 开发者 snapchot(主干)变更日志 表明它已经针对尚未发布的 Tomcat 9.0.15+ 进行了修复,没有分配明确的错误报告:

Tomcat 9.0.15(市场)正在开发中/Catalina:

修复9.0.14中暴露的一个bug,确保Tomcat作为服务运行时及时终止。 (市场)


1
投票

我们在 Tomcat v9.0.26 上也遇到了同样的问题。一旦您终止服务器,Tomcat 就花了 60 秒才完成。我们努力关闭应用程序中的所有内容,最后我们意识到我们有一个 ThreadPoolExecutor 创建了一个 newCachedThreadPool() 并且这个缓存池的 “keepAliveTime”为 60 秒

因此,在终止 tomcat 后,线程池等待 60 秒以检查线程是否仍需要重用。直到这一次之后,它才真正关闭。因此,解决方案是在关闭应用程序后关闭缓存的线程池。


0
投票

即使在 Tomcat 9.0.75 上我仍然遇到与 Rahul 相同的问题。

这似乎与 v9 中的实用程序执行器有关,如本文答案中所述:作为 Windows 服务运行的嵌入式 tomcat 需要很长时间才能停止服务

因此,我尝试更改 Apache Tomcat 服务的配置,似乎将时间从 60 多秒减少到了 20 秒以下。

Apache Tomcat Shutdown configuration with Method destroy and timeout of 1

© www.soinside.com 2019 - 2024. All rights reserved.