im分布式测试方案-单机测试

This commit is contained in:
liyj 2025-11-19 16:59:00 +08:00
parent 023bd790df
commit 4ce40ede17
4 changed files with 16 additions and 4 deletions

View File

@ -34,6 +34,10 @@ public class DistributedMessageService {
/**
* 发送消息给用户
* @param targetUserId 目标用户就是account的id
* @param message
* @param userSessions
* @return
*/
public boolean sendToUser(String targetUserId, SendVO message, ConcurrentHashMap<String, List<WebSocketSession>> userSessions) {
log.info("targetUserId{},message:{}", targetUserId, message);
@ -46,10 +50,10 @@ public class DistributedMessageService {
if (isCurrentServer(targetServer)) {
// 用户在当前服务器直接发送
return localSessionManager.sendToUser(targetUserId, message,userSessions);
return localSessionManager.sendToUser(message.getToid(), message,userSessions);
} else {
// 用户在其他服务器通过RabbitMQ转发
forwardToUser(targetServer, targetUserId, message);
forwardToUser(targetServer, message.getToid(), message);
return true;
}
}

View File

@ -68,6 +68,10 @@ public class LocalSessionManager {
/**
* 发送消息给用户
* @param userId session的id
* @param message
* @param userSession
* @return
*/
public boolean sendToUser(String userId, SendVO message,ConcurrentHashMap<String, List<WebSocketSession>> userSession) {
if (userId == null || message == null) {

View File

@ -130,7 +130,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
chat.setMsg(msg);
chat.setType("friend");
chat.setCreate_date(new Date());
boolean isSuccess = distributedMessageService.sendToUser(receiver, sendVO,localSessionManager.getUserSessions());
boolean isSuccess = distributedMessageService.sendToUser(String.valueOf(toUserId), sendVO,localSessionManager.getUserSessions());
if (isSuccess) {
chat.setStatus("1");
} else {
@ -140,7 +140,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
sendVO.setMsg_type("text");
sendVO.setMessage_length("0");
sendVO.setId(to.getId());
distributedMessageService.sendToUser(sender, sendVO,localSessionManager.getUserSessions());
distributedMessageService.sendToUser(String.valueOf(toUserId), sendVO,localSessionManager.getUserSessions());
chat.setStatus("0");
}
chatHistoryService.saveNew(chat);

View File

@ -820,6 +820,10 @@ public class SnsUserMessageServiceImpl extends BaseServiceImpl<SnsUserMessageMap
}
result.put("message_id", data.getMessage_id());
result.put("message_other_id", other.getMessage_id());
Map user_info=new HashMap();
user_info.put("user_id",user_id);
user_info.put("user_nickname",user.getUser_nickname());
result.put("user_info",user_info);
}
return result;
}