我有这个Restlet结构:
我实例化一个Server对象:
server = new Server(new Context(), config.getServerProtocol(), config
.getServerPort());
我需要实现一个扩展Application的新MyApp类:
app = new org.myproject.restlet.server.MyApp(
config, server.getContext());
app.start();
启动服务器:
server.setNext(app);
server.start();
我没有任何组件,MyApp分发到路由器并处理请求。如果此时有人发表评论,我将不胜感激。 我正在使用Restlet 2.0.14 JSE,我链接jetty jar以像我的http服务器一样使用它。我的服务器工作正常,我有一个javascript客户端,使用经典民意调查进行ajax调用。但我需要在服务器中实现长轮询(由于某些原因,我丢弃了流和推送模式)。 我正在阅读如何实现这一点,第一种方式(丑陋的方式)可能是: - 在服务器中休眠线程并在服务器可能有某些东西时恢复。这种方式被丢弃,因为它不可伸缩(here are a post about it)。 - 第二种方式可能是使用版本7的Jetty continuation api。在此link我可以看到如何使用jetty comet api暂停请求,但我不知道如何应用于我的restlet实现,如这个another link,我可以看到:
Continuation continuation = ContinuationSupport.getContinuation(request);
continuation.suspend();
但getContinuation方法接收ServletRequest对象。但我的请求不是ServletRequest。有谁知道如何在restlet中转换或使用ServletRequest?可能我没有服务器编程的所有概念。
答案 0 :(得分:0)
我不能将Jetty延续与Restlet即时提供的码头一起使用。为了实现长轮询我忘记了Restlet并使用java并发实现:wait()& notify(),一切正常运行