Практическое использование Comet при Ajax запросах. Примеры относятся к Tomcat 6 и не требуют от клиентской части реализации Bayeux. Естественно, что это будет работать и на серверах приложений, использующих Tomcat 6 (WebSphere, например). Шаги следующие:
1. в файле server.xml меняется описание коннектора:
<Connector connectionTimeout="20000" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>
(реализация Comet использует Nio)
2. Серверная компонента должна теперь реализовывать новый интерфейс и вместо монолитного метода doGet (или doPost) выполнить реализацию обработчика событий:
public class CometServlet extends HttpServlet implements CometProcessor {
public void event(CometEvent event) throws IOException, ServletException {
if(event.getEventType() == EventType.BEGIN) {
// fill in code handling here
}
// and continue handing other events
}
}
Схожий механизм поддерживает и Jetty, но там API другой. Собственно, спецификация Servlet 3.0 как раз и должна представить общий API.
No comments:
Post a Comment