【问题标题】:Tomcat7 is not waiting for async requests to complete their work on shutdownTomcat7 不等待异步请求在关闭时完成其工作
【发布时间】:2018-12-05 19:29:04
【问题描述】:

Tomcat 版本:7.0.92

我在我的应用程序中大量使用异步 API,该应用程序在 Tomcat 7 上运行。 我的要求之一 - 允许当前正在进行的所有请求在终止前完成其工作。

我在server.xml: asyncTimeout="40000" executorTerminationTimeoutMillis="60000" 中为每个连接器设置了以下属性

另外,unloadDelaycontext.xml 中设置为 60 秒。

我在我的一个服务中设置了 10 秒的睡眠时间,并向我的服务器发出 curl 请求,然后我立即请求关闭 tomcat 服务。

curl 在那里停留大约 10 秒,然后它从 tomcat 返回 502

此外,在catalina.out 中,我看到以下堆栈跟踪: INFO: Waiting for 1 instance(s) to be deallocated for Servlet [jersey-servlet] Dec 05, 2018 7:13:37 PM org.apache.catalina.connector.CoyoteAdapter checkRecycled INFO: Encountered a non-recycled request and recycled it forcedly. org.apache.catalina.connector.CoyoteAdapter$RecycleRequiredException at org.apache.catalina.connector.CoyoteAdapter.checkRecycled(CoyoteAdapter.java:634) at org.apache.coyote.http11.AbstractHttp11Processor.recycle(AbstractHttp11Processor.java:1909) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.release(Http11NioProtocol.java:220) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:720) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)

Encountered a non-recycled request and recycled it forcedly.

我相信这表明某些事情没有按预期工作。似乎 HTTP 连接器被提前关闭了。

【问题讨论】:

    标签: tomcat tomcat7


    【解决方案1】:

    只是“为了完整起见:

    根据问题作者提交的这个Tomcat错误-https://bz.apache.org/bugzilla/show_bug.cgi?id=63003

    所描述的问题是由于 Tomcat 不遵守 unloadDelay 上下文设置引起的,目前已经修复。

    【讨论】:

      猜你喜欢
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2019-11-07
      • 1970-01-01
      • 2017-02-15
      • 2019-06-16
      • 2018-03-05
      相关资源
      最近更新 更多