码头升级8至9

时间:2019-09-05 16:37:02

标签: jetty openjdk-11

当我尝试从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的Connector类中不存在。

在Jetty升级页面上找不到关于这些问题的任何文档。

1 个答案:

答案 0 :(得分: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,您将面临无尽的问题。 Connection对象不再代表物理连接,它通常代表虚拟连接,并且可以在物理连接的生命周期内进行更改或替换。您未能解释为什么需要此功能,以及在何种情况和环境下需要此功能。

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

  

3)我们使用的是Jetty 9.4.18中没有的org.eclipse.jetty.security.MappedLoginService

整个安全层都经过了重构,没有您尝试的详细信息,就不可能将您指向正确的外观。

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

  

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

这似乎与问题3重叠。 但是在这种问题上没有任何处理。