我们有一台使用嵌入式tomcat接受http请求的服务器。
当我们关闭服务器时,我们希望:
1)阻止所有传入的请求
2)等待已经接受的请求在停止tomcat引擎之前成功完成
经过一些测试后,停止连接器可以做到#1。
对于#2,我们试图阻止tomcat引擎,但看起来它不会等待现有的请求完成。
关于如何做#2的任何想法?
答案 0 :(得分:4)
停止连接器是停止处理新请求的最佳方法。
Tomcat允许请求完成处理的时间可根据上下文的unloadDelay属性进行配置。它默认为2000(毫秒),因此将其设置为更高的值应允许请求完成。
答案 1 :(得分:-1)
使用布尔值接受请求向应用程序添加过滤器,默认情况下接受请求。
添加ContextListener。并完成方法onContextDestroyed()添加你的代码来修改那个布尔