Я использую CometProcessor для реализации долгого опроса на Tomcat 7.0. Меня беспокоит то, что я не получаю никаких других событий, кроме CometEvent.EventType.BEGIN. Пример кода:Отсутствие кометных событий на Tomcat 7 CometProcessor
@Override
public void event(CometEvent event) throws IOException, ServletException {
HttpServletRequest request = event.getHttpServletRequest();
HttpServletResponse response = event.getHttpServletResponse();
if (event.getEventType() == CometEvent.EventType.BEGIN) {
LOGGER.info("Begin for session: " + request.getSession(true).getId());
} else if (event.getEventType() == CometEvent.EventType.ERROR) {
LOGGER.error("Error for session: " + request.getSession(true).getId());
event.close();
} else if (event.getEventType() == CometEvent.EventType.END) {
LOGGER.info("End for session: " + request.getSession(true).getId());
event.close();
} else if (event.getEventType() == CometEvent.EventType.READ) {
LOGGER.info("Read from session: " + request.getSession(true).getId());
}
Я предполагаю, что это может привести к утечкам памяти, потому что на событие начала я хранить объект ответа в моем локальном массиве.
Есть ли у кого-нибудь идеи, что может быть неправильным?