我在tomcat 7.0.23中使用大气运行时创建了简单的服务器推送 我能够从浏览器中的服务器获取消息(数据),现在问题是当我关闭连接(浏览器)时,servlet继续广播。我已经提到了大气白皮书。通过配置CometConnectionManagerValve Valve ,tomcat 7支持 Auto-detectclientremotedisconnection 我已经做过了。
<Engine> <Valve className="org.apache.catalina.valves.CometConnectionManagerValve"/><Engine>
但没有任何事情发生..这是我的onStateChange方法。
public void onStateChange(AtmosphereResourceEvent<HttpServletRequest, HttpServletResponse> event)
throws IOException {
System.out.println("###############################ON STATE CHANGE#######################################");
System.out.println("BroadCaster Id : "+event.getResource().getBroadcaster().getID());
if(event.isCancelled()) {
System.out.println("Cancelled....");
event.getResource().getBroadcaster().destroy();
}
}
我还创建了 AtmosphereResourceEventListener 来跟踪各种事件。再次它没有调用任何方法..
请帮忙。 提前谢谢。