Java Tomcat 7 comet处理器上缺少comet事件

Java Tomcat 7 comet处理器上缺少comet事件,java,tomcat,comet,long-polling,tomcat7,Java,Tomcat,Comet,Long Polling,Tomcat7,我正在使用CometProcessor在Tomcat7.0上实现长轮询。困扰我的是,除了CometEvent.EventType.BEGIN之外,我没有任何其他事件。 代码示例: @Override public void event(CometEvent event) throws IOException, ServletException { HttpServletRequest request = event.getHttpServletRequest();

我正在使用CometProcessor在Tomcat7.0上实现长轮询。困扰我的是,除了CometEvent.EventType.BEGIN之外,我没有任何其他事件。 代码示例:

    @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());
    }
我认为这可能会导致内存泄漏,因为在BEGIN事件中,我将响应对象存储在本地数组中


有人知道什么地方可能出错吗?

似乎没有什么东西可以调用请求端,因此它将一直坐在那里直到超时发生。
根据我的经验,在调用begin的线程上下文之外,调用close时会触发END。

似乎没有什么东西可以调用请求END,因此它将一直坐在那里直到超时发生。 根据我的经验,在调用begin的线程上下文之外,调用close时会触发END