From fe15c0fd7ad380a0d8e0bffa8ee63e4db4d18d59 Mon Sep 17 00:00:00 2001 From: Hccake Date: Sat, 23 Apr 2022 16:27:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?:art:=20=E7=B2=BE=E7=AE=80=20JsonWebSocketM?= =?UTF-8?q?essage=20=E5=B1=82=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将接口 JsonWebSocketMessage 删除,抽象类 AbstractJsonWebSocketMessage 改名为 JsonWebSocketMessage --- .../handler/CustomWebSocketHandler.java | 3 +-- .../message/AbstractJsonWebSocketMessage.java | 22 ------------------- .../message/JsonWebSocketMessage.java | 20 ++++++++++++----- .../message/PingJsonWebSocketMessage.java | 2 +- .../message/PongJsonWebSocketMessage.java | 2 +- 5 files changed, 17 insertions(+), 32 deletions(-) delete mode 100644 pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/AbstractJsonWebSocketMessage.java diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/handler/CustomWebSocketHandler.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/handler/CustomWebSocketHandler.java index af6936313..4b00af77f 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/handler/CustomWebSocketHandler.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/handler/CustomWebSocketHandler.java @@ -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 属性"); diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/AbstractJsonWebSocketMessage.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/AbstractJsonWebSocketMessage.java deleted file mode 100644 index 25b340859..000000000 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/AbstractJsonWebSocketMessage.java +++ /dev/null @@ -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; - } - -} diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java index 4cfdc951f..0a3672478 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java @@ -4,12 +4,20 @@ 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; + } } + diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PingJsonWebSocketMessage.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PingJsonWebSocketMessage.java index 1faf12689..41c52814f 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PingJsonWebSocketMessage.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PingJsonWebSocketMessage.java @@ -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()); diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PongJsonWebSocketMessage.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PongJsonWebSocketMessage.java index 02f5c3432..1e8e150b2 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PongJsonWebSocketMessage.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/PongJsonWebSocketMessage.java @@ -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()); From 0f27517b924c01cab6c6fa5c29b246fd24d62d33 Mon Sep 17 00:00:00 2001 From: Hccake Date: Sat, 23 Apr 2022 16:30:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?:fire:=20=E7=A7=BB=E9=99=A4=20MessageDistri?= =?UTF-8?q?butor=20=E4=B8=AD=E5=AE=9A=E4=B9=89=E7=9A=84=20doSend=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E9=98=B2=E6=AD=A2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AF=AF=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../websocket/distribute/AbstractMessageDistributor.java | 7 +++++-- .../common/websocket/distribute/MessageDistributor.java | 6 ------ .../common/websocket/message/JsonWebSocketMessage.java | 1 - 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/AbstractMessageDistributor.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/AbstractMessageDistributor.java index 41b5d38d2..04f936cb3 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/AbstractMessageDistributor.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/AbstractMessageDistributor.java @@ -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(); diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/MessageDistributor.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/MessageDistributor.java index 865986211..0c7ccc693 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/MessageDistributor.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/distribute/MessageDistributor.java @@ -14,10 +14,4 @@ public interface MessageDistributor { */ void distribute(MessageDO messageDO); - /** - * 发送消息 - * @param messageDO 发送的消息 - */ - void doSend(MessageDO messageDO); - } diff --git a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java index 0a3672478..47fa235ed 100644 --- a/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java +++ b/pigx-common/pigx-common-websocket/src/main/java/com/pig4cloud/pigx/common/websocket/message/JsonWebSocketMessage.java @@ -20,4 +20,3 @@ public abstract class JsonWebSocketMessage { } } -