提醒:Jetty 版本控制(自 1995 年起)<servlet_support>.<major_version>.<minor_version>
您正在进行从 8.1 到 9.4 的主要版本升级(这是 6 个主要版本!)。由此你会看到巨大的变化。
SslSelectChannelConnector 已被删除,从我可以看到 httpConfiguration 和 secureRequestCustomizer 取代了它。
欢迎来到协议的新世界。
不再有任何协议特定连接器的概念。
ServerConnector
是连接器,它没有协议知识,也不需要它。它只是到服务器的一个连接点(甚至不是特定于 TCP/IP 的,例如可以是 Unix 套接字)。
它的配置决定了连接类型、绑定位置以及客户端连接到该端口后如何协商协议。
The ConnectionFactory
决定了。
The HttpConfiguration
确定 HTTP 级别的行为如何发挥作用。
See: https://stackoverflow.com/a/30191878/775715用于描述。
See: 嵌入式码头示例这就是使用。从...开始LikeJettyXml.java.
See: 嵌入式码头食谱了解更多示例。
但有很多方法我都找不到。例如
设置请求缓冲区大小
这个已经不存在了,它与 SPDY 和 HTTP/2 不兼容
See HttpConfiguration.setRequestHeaderSize(int)用于控制最大请求标头大小。
注意:如果您使用的是 HTTP/2,我们建议您不要将请求标头大小调整为大于默认值(出于协议兼容性原因)。
设置响应缓冲区大小
它不再存在,它与 SPDY 和 HTTP/2 不兼容。
See HttpConfiguration.setResponseHeaderSize(int)用于控制最大响应标头大小。
注意:如果您使用的是 HTTP/2,我们建议您不要将响应标头大小调整为大于默认值(出于协议兼容性原因)。
See HttpConfiguration.setOutputBufferSize(int)用于输出缓冲区聚合控制。 (在 HTTP/2 中没有什么意义,实际上只与 HTTP/1.x 相关)
设置接受器
查看各种构造函数ServerConnector,这些没有设置器。
设置最大空闲时间
有many您可用的空闲超时设置(例如:连接器、连接、端点、线程、线程池、AsyncContext、读、写、websocket 会话等...)
根据您的问题,这里有一些似乎相关的示例。
See ServerConnector.setIdleTimeout(long)
See HttpConfiguration.setIdleTimeout(long)
See QueuedThreadPool.setIdleTimeout(int)
SessionHandler 不再具有 getSessionManager() 方法。
在过去的 6 个主要版本更新中,会话处理发生了比连接器更大的变化。
See: OneServletContextWithSession.java
此外,queueThreadPool不再有setMaxQueued(int),并且JettyServer不再有这两个方法:setThreadPool(QueueThreadPool) setGracefulShutdown(int)
最小/最大的配置QueuedThreadPool是构造函数的一部分。没有最小/最大设置器。
要配置Server线程池,使用允许您传入线程池的构造函数。
注意:如果您使用 HTTP/2,以及 html/css/javascript,我们建议您计划增加线程池需求(由于协议的性质)