2015-05-12 33 views
1

我以前在我的應用程序中使用過Jetty 8.1.14作爲嵌入式Web服務器。現在我正在嘗試升級到9.2.10版本。嵌入碼頭9和自定義套接字地址,端口和ThreadPool?

使用Jetty 8,可以使用「SelectChannelConnector」或「SslSelectChannelConnector」中的setter以及ThreadPool作爲「Server」類中的構造函數參數來指定主機地址和端口。

現在,似乎只能在「服務器」類中指定一個或另一個。地址和/或端口只有構造函數變體,或者使用ThreadPool。我無法找到具有所有三個參數的任何變體。

如何使用Jetty 9指定所有這些參數? 我曾嘗試:

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

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

回答

0

使用ServerConnector設置監聽端口,設置監聽的主機地址,設置空閒超時,並設置默認協議。一旦啓動,相同的連接器可用於確定實際監聽端口(如果使用動態分配的端口),實際監聽主機(如果使用動態主機地址)等等...

使用HttpConfiguration來設置緩衝區,安全標識(用於安全重定向),調整標題,由服務器版本公告等支持。

使用ConnectionFactory實現來控制協議選擇的進程應如何與最近接受的傳入連接一起工作。 (是的,這是一個東西纔是重要的在今天的Web基礎設施)

對於HTTP/1.1和SSL的一個基本的例子+ HTTP/1.1(又名HTTPS)看到ManyConnectors.java嵌入例如

有關的例子ConnectionFactory行爲與SPDY,請參見例如SpdyConnector.java(注:SPDY,取而代之HTTP/2的被棄用在碼頭9.3.x)

對於ConnectionFactory行爲與TLS + ALPN + HTTP/2,參見一個例子Http2Server.java示例(注意:您需要使用Jetty 9.3.x)

相關問題