Merge branch 'feat/websocket' of https://git.pig4cloud.com/pigx/pigx into leng_dev

This commit is contained in:
lbw committed 2022-04-23 16:41:24 +08:00
commit 634803033c
7 files changed
+21 -40

No files matched your search

@@ -20,8 +20,11 @@ public abstract class AbstractMessageDistributor implements MessageDistributor {
this.webSocketSessionStore = webSocketSessionStore;
}
@Override
public void doSend(MessageDO messageDO) {
/**
* 对当前服务中的 websocket 连接做消息推送
* @param messageDO 消息实体
*/
protected void doSend(MessageDO messageDO) {
// 是否广播发送
Boolean needBroadcast = messageDO.getNeedBroadcast();
@@ -14,10 +14,4 @@ public interface MessageDistributor {
*/
void distribute(MessageDO messageDO);
/**
* 发送消息
* @param messageDO 发送的消息
*/
void doSend(MessageDO messageDO);
}
@@ -6,7 +6,6 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pig4cloud.pigx.common.websocket.exception.ErrorJsonMessageException;
import com.pig4cloud.pigx.common.websocket.holder.JsonMessageHandlerHolder;
import com.pig4cloud.pigx.common.websocket.message.AbstractJsonWebSocketMessage;
import com.pig4cloud.pigx.common.websocket.message.JsonWebSocketMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.socket.TextMessage;
@@ -77,7 +76,7 @@ public class CustomWebSocketHandler extends TextWebSocketHandler {
throw new ErrorJsonMessageException("json 格式异常!非 object 类型!");
}
JsonNode typeNode = jsonNode.get(AbstractJsonWebSocketMessage.TYPE_FIELD);
JsonNode typeNode = jsonNode.get(JsonWebSocketMessage.TYPE_FIELD);
String messageType = typeNode.asText();
if (messageType == null) {
throw new ErrorJsonMessageException("json 无 type 属性");
@@ -1,22 +0,0 @@
package com.pig4cloud.pigx.common.websocket.message;
/**
* @author Hccake 2021/1/4
* @version 1.0
*/
public abstract class AbstractJsonWebSocketMessage implements JsonWebSocketMessage {
public static final String TYPE_FIELD = "type";
private final String type;
protected AbstractJsonWebSocketMessage(String type) {
this.type = type;
}
@Override
public String getType() {
return type;
}
}
@@ -4,12 +4,19 @@ package com.pig4cloud.pigx.common.websocket.message;
* @author Hccake 2021/1/4
* @version 1.0
*/
public interface JsonWebSocketMessage {
@SuppressWarnings("AlibabaAbstractClassShouldStartWithAbstractNaming")
public abstract class JsonWebSocketMessage {
/**
* 消息类型,主要用于匹配对应的消息处理器
* @return 当前消息类型
*/
String getType();
public static final String TYPE_FIELD = "type";
private final String type;
protected JsonWebSocketMessage(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
@@ -4,7 +4,7 @@ package com.pig4cloud.pigx.common.websocket.message;
* @author Hccake 2021/1/4
* @version 1.0
*/
public class PingJsonWebSocketMessage extends AbstractJsonWebSocketMessage {
public class PingJsonWebSocketMessage extends JsonWebSocketMessage {
public PingJsonWebSocketMessage() {
super(WebSocketMessageTypeEnum.PING.getValue());
@@ -4,7 +4,7 @@ package com.pig4cloud.pigx.common.websocket.message;
* @author Hccake 2021/1/4
* @version 1.0
*/
public class PongJsonWebSocketMessage extends AbstractJsonWebSocketMessage {
public class PongJsonWebSocketMessage extends JsonWebSocketMessage {
public PongJsonWebSocketMessage() {
super(WebSocketMessageTypeEnum.PONG.getValue());