其实是不用加shouldSave的。因为每次发送的时候,里面插入数据库的都是一条新的notification(id不一样),所以不加完全没问题。加了反而导致用户刚刚登录后服务器发送离线通知给用户,立刻删除掉了这条通知,而接下来两种情况:1.用户若收到并发送回执,服务器执行delete操作没有效果(当然删除不存在的数据应该是没问题的);2. 用户没有收到,但服务器已经删除了这条通知,那么这就丢失数据了。 第二种情况虽然罕见(用户刚登录立刻掉线,来不及收到服务器正在发送的数据或收到了数据,发送回执出现网络断开),但确实是bug了。
2017-02-26
服务器重启了,aliasUsernameMap就清空了,那别名推送就用不了啊。。是个小缺陷。从视频使用别名里还是学到很多知识啊,赞一个!
PresenceUpdateHandler这里的process method 忘记删除移除数据库代码notificationService.deleteNotification(notification);了我感觉