diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 2b735f3a..7841ec31 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -2223,7 +2223,6 @@ public class MemoryMessagesStore implements IMessagesStore { HazelcastInstance hzInstance = m_Server.getHazelcastInstance(); IMap mUserMap = hzInstance.getMap(USERS); - WFCMessage.User user = mUserMap.get(userId); if (user == null) { user = databaseStore.getPersistUser(userId); @@ -2287,6 +2286,7 @@ public class MemoryMessagesStore implements IMessagesStore { databaseStore.updateUser(user); mUserMap.set(userId, user); + IMHandler.getPublisher().publishNotification(IMTopic.NotifyUserInfoTopic, user.getUid(), 0, null); callbackUserInfoEvent(user); return ErrorCode.ERROR_CODE_SUCCESS; @@ -2434,6 +2434,8 @@ public class MemoryMessagesStore implements IMessagesStore { return ErrorCode.ERROR_CODE_SERVER_ERROR; } + IMHandler.getPublisher().publishNotification(IMTopic.NotifyUserInfoTopic, user.getUid(), 0, null); + mUserMap.put(user.getUid(), user); callbackUserInfoEvent(user); return ErrorCode.ERROR_CODE_SUCCESS; diff --git a/broker/src/main/java/win/liyufan/im/IMTopic.java b/broker/src/main/java/win/liyufan/im/IMTopic.java index 69ac7d4d..d64316a9 100755 --- a/broker/src/main/java/win/liyufan/im/IMTopic.java +++ b/broker/src/main/java/win/liyufan/im/IMTopic.java @@ -40,6 +40,7 @@ public interface IMTopic { String GetUserInfoTopic = "UPUI"; String ModifyMyInfoTopic = "MMI"; + String NotifyUserInfoTopic = "UIN"; String GetQiniuUploadTokenTopic = "GQNUT";