我们正在尝试处理一个场景,当用户退出房间时,我们使用 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);
}
}
}