0

我们正在尝试处理一个场景,当用户退出房间时,我们使用 MetaBroadcaster 向所有房间发送消息。我们通过覆盖 AtmosphereGwtHandler 的广播方法来实现此功能。

在开发模式下测试时该功能很好,但是当我们在Jetty8生产模式下测试时,通过日志告诉覆盖方法是无效的,永远不会被调用。

所以任何人都知道它有什么问题,或者我们对此功能有更好的解决方案。这是我们的代码片段:

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 或大气.xml

你在使用 Meteor/Atmosphere 什么 servlet?什么版本的氛围?

于 2013-01-29T20:38:27.537 回答