嵌入 Jetty 9 并自定义套接字地址、端口和线程池?

Embedding Jetty 9 and customizing Socket Address, Port and ThreadPool?

我之前在我的应用程序中使用 Jetty 8.1.14 作为嵌入式 Web 服务器。现在我正在尝试升级到 9.2.10 版本。

使用 Jetty 8,可以使用 "SelectChannelConnector" 或 "SslSelectChannelConnector" 中的设置器指定主机地址和端口,也可以在 [=24= 中将 ThreadPool 作为构造函数参数] class.

现在好像只能在"Server"class中指定其中之一。地址 and/or 端口或要使用的线程池只有构造函数变体。我找不到包含所有三个参数的任何变体。

如何使用 Jetty 9 指定所有这些参数? 我试过:

String bindAddress = "myValue";
int port = 12345;
Server s = new Server(new InetSocketAddress(bindAdress, port));

ThreadPool t = MyHighlyCustomizedThreadPool();
Server s = new Server(t);

使用 ServerConnector 设置侦听端口、设置侦听主机地址、设置空闲超时和设置默认协议。一旦启动,同一连接器可用于确定实际侦听端口(如果使用动态分配的端口)、实际侦听主机(如果使用动态主机地址)等...

使用 HttpConfiguration 设置缓冲区、安全识别(用于安全重定向)、调整 headers、由服务器版本公告等提供支持。

使用 ConnectionFactory 实施来控制协议选择的进程应如何处理最近接受的传入连接。 (是的,这在当今的 Web 基础架构中是很重要的事情)

有关 HTTP/1.1 和 SSL+HTTP/1.1(也称为 HTTPS)的基本示例,请参阅 ManyConnectors.java 嵌入式示例

有关 SPDY 的 ConnectionFactory 行为示例,请参阅 SpdyConnector.java 示例 (注意:SPDY 在 Jetty 9 中已被弃用,取而代之的是 HTTP/2。 3.x)

有关使用 TLS + ALPN + HTTP/2 的 ConnectionFactory 行为示例,请参阅 Http2Server.java 示例 (注意:您需要 Jetty 9。3.x为此)