4

我们有一个使用嵌入式 tomcat 接受 http 请求的服务器。

当我们关闭我们的服务器时,我们想要:

1)阻止所有传入的请求

2)等待已经接受的请求成功完成,然后停止tomcat引擎

经过一些测试,#1 可以通过停止连接器来实​​现。

对于#2,我们尝试停止 tomcat 引擎,但看起来它并没有等待现有请求完成。

关于如何做#2的任何想法?

4

2 回答 2

4

停止连接器是停止处理新请求的最佳方式。

Tomcat 允许请求完成处理的时间可以根据上下文的 unloadDelay 属性进行配置。它默认为 2000(毫秒),因此将其设置为更高的值应该允许请求完成。

于 2013-11-21T09:54:20.773 回答
0
  1. 阻止所有传入请求。

使用布尔值向您的应用程序添加一个过滤器以接受请求,默认情况下它接受。

添加一个上下文监听器。并完成方法 onContextDestroyed() 添加您的代码以修改该布尔值

于 2013-11-20T15:31:50.567 回答