gpt4 book ai didi

java - 从 Jetty 7 切换到 Jetty 9 时出现 !asyncSupported 异常

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:32 34 4
gpt4 key购买 nike

我们最近升级了 jetty 版本。当我们这样做时,我们的两个遗留 gui war 文件,在一段时间内没有人修改过,停止正常工作。我相信我已经找到了代理的根本原因(用于代理到另一个端口上的 restful 接口(interface)),对代理的任何调用都会引发异常:

 IllegalStateException: !asyncSupported

我不确定为什么这会发生在 1.9 而不是旧 jetty 。我目前无法构建 war 文件,这是一团糟,只有一个开发人员可以构建,但我尝试使用 jetty -x 解压缩它并将其添加到 web.xml 文件的 servlet 部分:

<async-supported>true</async-supported>

然后用 jar c 命令重新压缩它。这似乎没有帮助,虽然现在我在我的 jetty 日志文件中得到异常,而之前它们只会显示在浏览器中。

谁能告诉我如何激活异步支持和/或为什么 jetty 中的开关会导致这种情况?

最佳答案

啊,规范的演变......

  • Jetty 7 是 Servlet 2.5(那里没有异步)
  • Jetty 8 是 Servlet 3.0(引入了异步)- 规范对默认值含糊不清,因此 Jetty 默认为 async-supported == true
  • Jetty 9 是 Servlet 3.1(甚至更加异步)- 规范得到了澄清,而且 Jetty 选择了它的默认值。根据规范,默认值为 async-supported == false

这就是为什么您过去不必指定支持异步,但现在您需要指定的原因。

关于此的错误 bugs.eclipse.org/410893

提交:9bf7870c7c8a209f2660f63c14dd4acb62b07533

关于java - 从 Jetty 7 切换到 Jetty 9 时出现 !asyncSupported 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643970/

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