后端升级到2.4.3版本

This commit is contained in:
zer0Black
2022-02-24 12:59:12 +08:00
parent 995465984c
commit a9643ed428
129 changed files with 4169 additions and 5689 deletions
@@ -59,6 +59,7 @@ public class SendMsgJob implements Job {
// 发送消息成功
sysMessage.setEsSendStatus(SendMsgStatusEnum.SUCCESS.getCode());
} catch (Exception e) {
e.printStackTrace();
// 发送消息出现异常
sysMessage.setEsSendStatus(SendMsgStatusEnum.FAIL.getCode());
}
@@ -1,14 +1,17 @@
package com.jero.modules.message.websocket;
import cn.hutool.core.util.ObjectUtil;
import com.jero.boot.starter.redis.listener.JeroRedisListerer;
import com.jero.common.constant.CommonSendStatus;
import com.jero.common.modules.redis.listener.JeroRedisListerer;
import com.jero.common.base.BaseMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 监听消息(采用redis发布订阅方式发送消息)
*/
@Slf4j
@Component
public class SocketHandler implements JeroRedisListerer {
@@ -17,10 +20,14 @@ public class SocketHandler implements JeroRedisListerer {
@Override
public void onMessage(BaseMap map) {
log.info("【SocketHandler消息】Redis Listerer:" + map.toString());
String userId = map.get("userId");
String message = map.get("message");
if (ObjectUtil.isNotEmpty(userId)) {
webSocket.pushMessage(userId, message);
//app端消息推送
webSocket.pushMessage(userId + CommonSendStatus.APP_SESSION_SUFFIX, message);
} else {
webSocket.pushMessage(message);
}
@@ -12,7 +12,7 @@ import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import com.jero.boot.starter.redis.client.JeroRedisClient;
import com.jero.common.modules.redis.client.JeroRedisClient;
import com.jero.common.base.BaseMap;
import com.jero.common.constant.WebsocketConst;
import org.springframework.stereotype.Component;
@@ -40,6 +40,9 @@ public class WebSocket {
@Resource
private JeroRedisClient jeroRedisClient;
/**
* 缓存 webSocket连接到单机服务class中(整体方案支持集群)
*/
private static CopyOnWriteArraySet<WebSocket> webSockets = new CopyOnWriteArraySet<>();
private static Map<String, Session> sessionPool = new HashMap<String, Session>();
@@ -102,8 +105,10 @@ public class WebSocket {
//todo 现在有个定时任务刷,应该去掉
log.debug("【websocket消息】收到客户端消息:" + message);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_CHECK);//业务类型
obj.put(WebsocketConst.MSG_TXT, "心跳响应");//消息内容
//业务类型
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_CHECK);
//消息内容
obj.put(WebsocketConst.MSG_TXT, "心跳响应");
for (WebSocket webSocket : webSockets) {
webSocket.pushMessage(message);
}