2012-09-05 125 views
2

我該如何製作一個嵌入式Jetty實例單線程?單線程嵌入式Jetty?

我已經試過

server.setThreadPool(new QueuedThreadPool(1)) 

但抱怨沒有足夠的線程池,並掛起。即使我使用SocketConnector而不是NIO連接器,這仍會發生。

(我想這是我試圖解決this problem的原因 - 我現在有一個賞金,順便說一句 - !和谷歌的LocalServiceTestHelper似乎只需要在當前線程效果)

回答

2

SocketConnector需要2個線程 - 一個等待連接,另一個服務連接。其他連接器可能需要更多,因此請使用SocketConnector

而且,你必須確保你再拍連接之前,每個連接被關閉在客戶端 - 否則,服務器將保持打開一段時間,在任何情況下,更多的HTTP請求將被髮送。確保您禁用Keep-Alive。

+0

不同的用例,相同的任務:遠程函數/過程/方法調用服務器,允許開發人員在實現服務器執行的方法時忽略關於多線程複雜性的任何想法。爲了擴展,開始更多(想想docker)。 – Harald