如何通过Filter和FORWARD调度使用jetty continuation?
我有一个servletfilter作为我的Web堆栈的基础。 在我的web.xml中,我已经指定我希望filter也充当FORWARD调度程序。
MyFilter /* REQUEST FORWARD
这是我的框架中的另一个function所必需的。
现在我试图添加对异步延续的支持。 我遇到的问题是,当继续恢复时(或延续期到期),jetty永远不会将“恢复”请求发送到我的filter。 如果我写一个servlet,那么它将得到“恢复”的请求。 如果我从我的web.xml文件中删除FORWARD
,那么filter会获得“恢复”请求。 无论如何,即使启用了FORWARD
调度,我也可以将“恢复”请求分派到我的filter?
在玩了一下之后,每当我有任何条目时就会出现问题。 即使只有
REQUEST
条目。 为了使其工作,必须根本没有dispatcher
条目。
在深入了解Jetty源代码后,我找到了答案。 事实certificate,Jetty支持另一种称为ASYNC
调度程序类型。 因此,如果我将任何
行添加到web.xml的
部分,我必须包含ASYNC
的条目,因为当调度“恢复”延续时,这是使用的调度程序类型。
MyFilter /* REQUEST FORWARD ASYNC