如何检测AsyncContext是否已超时?

时间:2012-04-16 18:38:30

标签: servlet-3.0

是否可以告诉AsyncContext,它是否已完成,已超时或仍在等待完成?

我知道可以监听timeoutcomplete个事件,但我不想定义4个AsyncListener侦听器方法来记录此信息。

1 个答案:

答案 0 :(得分:1)

如果我没有弄错,Tomcat会在null上调用AsyncContext.getRequest()时返回AsyncContext

我现在无法确认这种行为,而且没有记录,因此应该被视为不安全且不便携。

BTW Tomcat正在这样做,因为一旦请求被处理,重用 HttpServletRequest和响应对象,就像它重用servlet实例或线程一样。对我来说听起来像是疯狂的优化,但规范并没有禁止......