我的别名推送问题
为什么 我这里 别名推送会发送两次?
为什么 我这里 别名推送会发送两次?
2017-03-17
public void sendBroadcast(String apiKey, String title, String message,
String uri) {
log.debug("sendBroadcast()...");
List<User> users = userService.getUsers(); //把表中数据全部拿出来
for (User user : users) {
Random random = new Random();
String id = Integer.toHexString(random.nextInt());
//在这里,不关心 服务器端有没有推,后续由客户端进行反馈
saveNotification(apiKey, user.getUsername(), title, message, uri, id); //前置
IQ notificationIQ = createNotificationIQ(id,apiKey, title, message, uri);
ClientSession session = sessionManager.getSession(user.getUsername());
if(session != null&&session.getPresence().isAvailable()){
notificationIQ.setTo(session.getAddress());
session.deliver(notificationIQ);
}
}
这么改就解决
举报