我已經編寫了一個使用嵌入式Jetty的應用程序,可以對其他服務進行網絡調用。Java非阻塞HTTP服務器
我認爲服務線程在等待網絡呼叫完成時處於空閒狀態。
有什麼辦法可以讓工作線程在請求之間切換,以執行當前可以完成的工作,然後當網絡調用返回時也可以處理該工作?所有工作都已完成後,將會返回一個請求。
我知道這是一個常見的範例,我已經將它用於非阻塞TCP網絡,但我不確定如何在Java HTTP服務器上實現此功能,同時還等待外部結果。
任何鏈接或解釋讚賞。
感謝
更新: 我使用Membase的和ElasticSearch(唯一的網絡電話)。 Membase返回「Future」對象,ElasticSearch返回「ListenableActionFuture」。我希望能夠繼續處理線程以響應這些對象被返回。
您使用的是什麼版本的Jetty?我知道最新的一個支持Servlet 3.0 API,它具有異步請求處理的功能。但我不知道所有的細節。 –