1

当我尝试从 Jetty 8.1.12 迁移到 Jetty 9.4.18 时,由于以下问题而出现错误。

  1. 我们正在使用 org.eclipse.jetty.server.AsyncContinuation。Jetty 9.4.18 中不存在
  2. 我们正在使用 AbstractHttpConnection。特别是 AbstractHttpConnection.getCurrentConnection() 方法。这在 Jetty 9.4.18 中不存在。
  3. 我们正在使用 Jetty 9.4.18 中不存在的 org.eclipse.jetty.security.MappedLoginService。
  4. 我们正在使用 connector.getConnection() 方法。这在 Jetty 9.4.18 的连接器类中不存在。

我在 Jetty 升级页面中没有找到有关这些问题的任何文档。

4

1 回答 1

1

欢迎来到 Stackoverflow!

在一个问题上提出多个不相关的问题并不是一个好主意。

1)我们正在使用 org.eclipse.jetty.server.AsyncContinuation。Jetty 9.4.18 中不存在

AsyncContinuation是 Jetty 7 和更早的概念。

它保留在 Jetty 8 中,作为向 Servlet 3.0 中引入的有关异步的 Servlet 规范特定行为的过渡(在 Jetty 8.x 中支持)。

改为使用javax.servlet.AsyncContext。(您会发现许多方法名称相似,因此转换不应该有那么大的问题)。

2) 我们正在使用 AbstractHttpConnection。特别是 AbstractHttpConnection.getCurrentConnection() 方法。Jetty 9.4.18 中不存在

如果您正在访问原始连接,您将面临无穷无尽的问题。Connection 对象不再代表物理连接,它通常代表一个虚拟连接,并且可以在物理连接的生命周期内发生变化或被换出。你没有解释为什么你需要这个,在什么样的情况和环境下你需要这个。

在 stackoverflow 上创建一个新问题,解释你为什么需要这个,以及你试图解决什么目标。(不是你之前使用的技术,目标,最终结果)

3)我们正在使用 org.eclipse.jetty.security.MappedLoginService Jetty 9.4.18 中不存在

整个安全层都被重构了,如果没有你正在尝试的细节,就不可能将你指向正确的位置。

也为这个问题在 stackoverflow 上创建(另一个)问题。解释您要解决的问题,显示一些代码。在详细说明您的问题时,首先关注目标,然后是您尝试过的技术。

4) 我们正在使用 connector.getConnection() 方法。这在 Jetty 9.4.18 的连接器类中不存在。

这似乎与问题 3 重叠,也许。但是在这种问题上没有什么可做的。

于 2019-09-05T17:23:00.347 回答