我有這樣的Restlet結構:中的Restlet使用碼頭延續來實現長輪詢
我實例化一個服務器對象:
server = new Server(new Context(), config.getServerProtocol(), config
.getServerPort());
AFER我實例化擴展應用提供了新MyApp的類:
app = new org.myproject.restlet.server.MyApp(
config, server.getContext());
app.start();
並啓動服務器:
server.setNext(app);
server.start();
我沒有任何組件,MyApp分發給路由器並處理請求。如果此時有人發表評論,將不勝感激。 我正在使用Restlet 2.0.14 JSE,並且我將鏈接罐碼頭用來像我的http服務器。我的服務器工作正常,我有一個javascript客戶端,使用ajax調用,與古典民意調查。但我需要在服務器中實現長輪詢(由於某些原因,我放棄了流和推模式)。 我正在閱讀如何實現這一點,第一種方式(醜陋的方式)可能是: - 睡在服務器中的線程,並恢復時,服務器可能有東西。這種方式因爲不可擴展而被丟棄(here are a post about it)。 - 第二種方式可能是使用版本7的Jetty延續API。在這link我可以看到如何使用jetty comet API暫停請求,但我不知道如何適用於我的restlet實現,如another link中所述,我可以看到:
Continuation continuation = ContinuationSupport.getContinuation(request);
continuation.suspend();
但getContinuation方法接收ServletRequest對象。但是我的請求不是ServletRequest。任何人都知道如何轉換或使用restlet中的ServletRequest?可能我沒有使用服務器編程的所有概念。
此時,現在servlet 3.0已經出來一段時間了,我會尋找一個restlet支持servlet 3.0異步操作並部署到jetty8的servlet – 2012-07-06 19:36:55