优雅地关闭嵌入式tomcat 7

时间:2013-08-09 01:33:23

标签: java tomcat shutdown embedded-tomcat-7

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

当我们关闭服务器时,我们希望:

1)阻止所有传入的请求

2)等待已经接受的请求在停止tomcat引擎之前成功完成

经过一些测试后,停止连接器可以做到#1。

对于#2,我们试图阻止tomcat引擎,但看起来它不会等待现有的请求完成。

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:-1)

  1. 阻止所有传入的请求。
  2. 使用布尔值接受请求向应用程序添加过滤器,默认情况下接受请求。

    添加ContextListener。并完成方法onContextDestroyed()添加你的代码来修改那个布尔