У меня есть такая структура рестлета:
Я создаю объект Server:
server = new Server(new Context(), config.getServerProtocol(), config
.getServerPort());
После создания экземпляра нового класса MyApp, расширяющего Application:
app = new org.myproject.restlet.server.MyApp(
config, server.getContext());
app.start();
И запускает сервер:
server.setNext(app);
server.start();
У меня нет компонента, MyApp распространяет маршрутизатор и обрабатывает запрос. Если к этому моменту у кого-то есть комментарий, буду благодарен. Я использую Restlet 2.0.14 JSE, и я связываю jar-файлы с причалом, чтобы использовать их как свой http-сервер. Мой сервер работает нормально, у меня есть клиент javascript, который выполняет вызовы ajax, с классическим опросом. Но мне нужно реализовать длинный опрос на сервере (по некоторым причинам я отказываюсь от потокового и push-режимов). Я читаю о том, как это реализовать, первый способ (уродливый) может заключаться в следующем: - Засыпание потока на сервере и возобновление, когда на сервере что-то может быть. Этот способ отбрасывается, поскольку он не масштабируется (вот пост об этом). - Второй способ - использовать api продолжений Jetty версии 7. По этой ссылке Я могу видеть, как использовать api причала кометы, чтобы приостановить запрос, но я не знаю, как применить к моей реализации рестлета, как указано в этом другая ссылка, я вижу:
Continuation continuation = ContinuationSupport.getContinuation(request);
continuation.suspend();
Но метод getContinuation получает объект ServletRequest. Но мой запрос не является ServletRequest. Кто-нибудь знает, как преобразовать или использовать ServletRequest в рестлете? Наверное, у меня нет всех концепций серверного программирования.