Tomcat 9需要1分钟才能停止

时间:2019-01-16 07:01:25

标签: windows tomcat windows-services tomcat9

我在系统上安装了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秒 任何帮助表示赞赏.....

2 个答案:

答案 0 :(得分:1)

我很乐意将其复制

  • 下载并解压缩apache-tomcat-9.0.14-windows-x64.zip
  • 从CD转到apache-tomcat/bin
  • service.bat install
  • 启动服务的速度很快,而停止服务则会延迟60秒。

这似乎是Tomcat的问题,但是当前的developer snapchot (trunk) changelog表示它已经针对尚未发布的Tomcat 9.0.15+(未分配明确的错误报告)进行了修复:

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

  

更正9.0.14中暴露的错误,并确保Tomcat作为服务运行时及时终止。 (市场)

答案 1 :(得分:0)

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

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