1

tomcat 7.0.23でatmosphereランタイムを使用して単純なサーバープッシュを作成しました。ブラウザーのサーバーからメッセージ(データ)を取得できます。問題は、接続(ブラウザー)を閉じるたびに、サーブレットがブロードキャストを継続することです。雰囲気白書を参考にしました。
 私がすでに行ったCometConnectionManagerValveバルブを構成することにより、Tomcat7でクライアントのリモート切断の自動検出がサポートされていることに言及しています。

<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を作成しました。繰り返しますが、メソッドを呼び出さないでください。

助けてください。前もって感謝します。

4

0 に答える 0