gpt4 book ai didi

java - 如何使用带有 Filter 和 FORWARD 调度的 jetty 延续?

转载 作者:行者123 更新时间:2023-12-02 08:22:58 31 4
gpt4 key购买 nike

我有一个 servlet 过滤器,它充当我的 Web 堆栈的基础。在我的 web.xml 中我有指定我希望过滤器也充当 FORWARD 调度程序。

  <filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

这是我的框架中的另一个功能所必需的。

现在我正在尝试添加对异步延续的支持。我遇到的问题是当继续恢复时(或当继续到期时),jetty 永远不会向我的过滤器发送“恢复”请求。如果我编写一个 servlet,那么它将收到“已恢复”请求。如果我删除 <dispatcher>FORWARD</dispatcher>从我的 web.xml 文件中,过滤器确实获取“已恢复”请求。无论如何,即使使用FORWARD,我也可以将“恢复”请求分派(dispatch)到我的过滤器是否启用调度?

经过一番尝试后,只要我有任何 <dispatcher> 就会出现问题。条目。即使只有一个<dispatcher>REQUEST</dispatcher>入口。为了使其正常工作,必须没有 dispatcher根本没有条目。

最佳答案

在深入研究 Jetty 源代码后,我找到了答案。原来 Jetty 支持另一个调度程序类型称为 ASYNC 。所以如果我添加任何 <dispatcher>行至 <filter-mapping> web.xml 部分中,我必须包含 ASYNC 的条目因为当调度“恢复”延续时,这就是使用的调度程序类型。

<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ASYNC</dispatcher>
</filter-mapping>

关于java - 如何使用带有 Filter 和 FORWARD 调度的 jetty 延续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123888/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com