您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将Jetty 8升级到Jetty 9

将Jetty 8升级到Jetty 9

提醒:自1995年以来,Jetty版本控制是 <servlet_support>.<major_version>.<minor_version>

您正在将主要版本从8.1升级到9.4(这是6个主要版本!)。因此,您看到了巨大的变化。

SslSelectChannelConnector已被删除,从我看到的带有secureRequestCustomizer的httpConfiguration替换了它。

欢迎来到协议的新世界。

不再存在协议专用连接器的任何概念。

ServerConnector是连接器,它没有协议知识,也不需要它。它只是服务器的连接点(甚至不是特定于TCP / IP的连接点,也可能是Unix套接字)。

它的配置确定了连接类型,绑定位置以及客户端连接到该端口后如何协商协议。

ConnectionFactory确定。

HttpConfiguration决定如何HTTP级别行为功能

参见:嵌入式码头的例子。从开始LikeJettyXml.java

有关更多示例,请参见:embedded-jetty-cookbook

但是我在这两种方法上找不到很多方法。例如

setRequestBufferSize

不再存在,它与SPDY和HTTP / 2不兼容

有关HttpConfiguration.setRequestHeaderSize(int)控制最大请求标头大小的信息,请参见。

注意:如果使用的是HTTP / 2,建议您不要将请求标头的大小调整为大于认值(出于协议兼容性的原因)。

setResponseBufferSize

它不再存在,它与SPDY和HTTP / 2不兼容。

有关HttpConfiguration.setResponseHeaderSize(int)控制最大响应标头大小的信息,请参见。

注意:如果使用的是HTTP / 2,建议您不要将响应头的大小调整为大于认值(出于协议兼容性的原因)。

有关HttpConfiguration.setOutputBufferSize(int)输出缓冲区聚合控件的信息,请参见。(在HTTP / 2中意义不大,实际上仅与HTTP / 1.x相关)

setAcceptors

请参阅的各种构造函数ServerConnector,这些没有设置器。

setMaxIdleTime

您可以使用 许多 空闲超时设置(例如:连接器,连接,端点,线程,线程池,AsyncContext,读取,写入,websocket会话等)。

根据您的问题,以下是一些相关的示例。

看到ServerConnector.setIdleTimeout(long)

看到HttpConfiguration.setIdleTimeout(long)

看到QueuedThreadPool.setIdleTimeout(int)

SessionHandler不再具有getSessionManager()方法

在过去的6个主要版本更新中,会话处理已比连接器进行了更大的更改。

看到:OneServletContextWithSession.java

同样,queueThreadPool不再具有setMaxQueued(int),而JettyServer不再具有以下两种方法:setThreadPool(QueueThreadPool)setGracefulShutdown(int)

最小/最大输入的配置QueuedThreadPool是构造函数的一部分。最小/最大没有设置器。

要配置Server线程池,请使用允许您传入线程池的构造函数

注意:如果您使用的是HTTP / 2和html / css / javascript,我们建议您计划增加线程池需求(由于协议的性质)

其他 2022/1/1 18:16:22 有761人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶