0

ユーザーがルームを退室する際に、 MetaBroadcaster を使用してすべてのルームにメッセージを送信するシナリオを処理しようとしています。 AtmosphereGwtHandler のブロードキャスト メソッドをオーバーライドすることで、この機能を実装しました。

この機能は、開発モードでテストする場合は良好ですが、Jetty8 プロダクション モードでテストすると、ログからわかるように、オーバーライド メソッドは呼び出されない void です。

それで、誰がそれの何が悪いのか知っていますか、それともこの機能に対するより良い解決策がありますか. コード スニペットは次のとおりです。

public class ChatHandler extends AtmosphereGwtHandler { 
    ...
    @Override
    public void broadcast(Object message, GwtAtmosphereResource resource) {

        MsgType msgtype=((ChatMessage)message).getMsgtype();
        if(msgtype==MsgType.Broad){
            MetaBroadcaster.getDefault().broadcastTo(((ChatMessage)message).getChanel(), message);
            System.out.println("Doing to all room);
        }else{
            super.broadcast(message, resource);
            System.out.println("Doing to myself);
        }
    }
}
4

1 に答える 1

0

提供された情報に実際に答えることはできません。

ハンドラーをどこで構成しましたか? web.xmlまたはatmosphere.xml

Meteor/Atmosphere はどのサーブレットを使用していますか? アトモスフィアのバージョンは?

于 2013-01-29T20:38:27.537 に答える