From 9e5da8899bc21bb5b6b0a3c267108caa00199291 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期日, 19 五月 2024 15:46:08 +0800 Subject: [PATCH] websocket代码整理 --- smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/UserAttributeHandshakeInterceptor.java | 3 ++- smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataJsonMessageHandler.java | 6 +++++- smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataRequestJsonWebSocketMessage.java | 3 +++ smart-starter-websocket/src/main/java/com/qianwen/core/websocket/config/WebSocketAutoConfiguration.java | 2 ++ smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/MapSessionWebSocketHandlerDecorator.java | 3 +++ smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/WebSocketSessionHolder.java | 10 +++++----- smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/DefaultTypeSessionFilter.java | 2 +- smart-starter-websocket/src/main/java/com/qianwen/core/websocket/handler/CustomWebSocketHandler.java | 1 + 8 files changed, 22 insertions(+), 8 deletions(-) diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataJsonMessageHandler.java b/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataJsonMessageHandler.java index 0321ba0..4e49404 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataJsonMessageHandler.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataJsonMessageHandler.java @@ -13,6 +13,9 @@ import org.springframework.stereotype.Component; import org.springframework.web.socket.WebSocketSession; +/** + * 瀹炵幇浜唚ebsocket妯″潡涓殑JsonMessageHandler锛屽疄鏃剁湅鏉夸娇鐢ㄨ澶勭悊鍣紝payload涓簲璇ユ惡甯ype:"realTimeData"灞炴�� + */ @Component public class RealTimeDataJsonMessageHandler implements JsonMessageHandler<RealTimeDataRequestJsonWebSocketMessage> { private final IOrderWorkstationService orderWorkstationService; @@ -37,10 +40,11 @@ } } + @Override public String type() { return "realTimeData"; } - + @Override public Class<RealTimeDataRequestJsonWebSocketMessage> getMessageClass() { return RealTimeDataRequestJsonWebSocketMessage.class; } diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataRequestJsonWebSocketMessage.java b/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataRequestJsonWebSocketMessage.java index 0d24dbd..2910f2c 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataRequestJsonWebSocketMessage.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/common/websocket/realtime/RealTimeDataRequestJsonWebSocketMessage.java @@ -3,6 +3,9 @@ import java.util.List; import com.qianwen.core.websocket.message.AbstractJsonWebSocketMessage; +/** + * 瀹炴椂鐪嬫澘涓殑杩斿洖淇℃伅锛歸orkstationIdList锛屾秹鍙婄姸鎬侊紝杩愯鏃堕棿绛変俊鎭� + */ public class RealTimeDataRequestJsonWebSocketMessage extends AbstractJsonWebSocketMessage { private List<String> workstationIdList; diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/config/WebSocketAutoConfiguration.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/config/WebSocketAutoConfiguration.java index 9cfc033..90fc7a0 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/config/WebSocketAutoConfiguration.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/config/WebSocketAutoConfiguration.java @@ -33,7 +33,9 @@ @Bean public WebSocketConfigurer webSocketConfigurer(List<HandshakeInterceptor> handshakeInterceptor, WebSocketHandler webSocketHandler) { return registry -> { + //鏅�歸ebsocket鏀寔 registry.addHandler(webSocketHandler, new String[]{this.webSocketProperties.getPath()}).setAllowedOrigins(new String[]{this.webSocketProperties.getAllowOrigins()}).addInterceptors((HandshakeInterceptor[]) handshakeInterceptor.toArray(new HandshakeInterceptor[0])); + //鎻愪緵闄嶇骇涓篠ockJS鐨勬敮鎸� registry.addHandler(webSocketHandler, new String[]{this.webSocketProperties.getSockJsPath()}).setAllowedOrigins(new String[]{this.webSocketProperties.getAllowOrigins()}).addInterceptors((HandshakeInterceptor[]) handshakeInterceptor.toArray(new HandshakeInterceptor[0])).withSockJS(); }; } diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/DefaultTypeSessionFilter.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/DefaultTypeSessionFilter.java index 63e575c..01916e9 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/DefaultTypeSessionFilter.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/DefaultTypeSessionFilter.java @@ -32,7 +32,7 @@ }).collect(Collectors.toList()); } - @Override // com.qianwen.core.websocket.custom.SubscriptionSessionFilter + @Override public void onClose(WebSocketSession session) { } } diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/UserAttributeHandshakeInterceptor.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/UserAttributeHandshakeInterceptor.java index 2d4df83..dd4f1dd 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/UserAttributeHandshakeInterceptor.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/custom/UserAttributeHandshakeInterceptor.java @@ -10,6 +10,7 @@ import org.springframework.web.socket.server.HandshakeInterceptor; public class UserAttributeHandshakeInterceptor implements HandshakeInterceptor { + @Override public boolean beforeHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Map<String, Object> attributes) throws Exception { BladeUser user = AuthUtil.getUser(); if (Func.isEmpty(user)) { @@ -18,7 +19,7 @@ attributes.put("USER_KEY_ATTR_NAME", user); return true; } - + @Override public void afterHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Exception e) { } } diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/handler/CustomWebSocketHandler.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/handler/CustomWebSocketHandler.java index aa51400..c6a54e7 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/handler/CustomWebSocketHandler.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/handler/CustomWebSocketHandler.java @@ -32,6 +32,7 @@ this.planTextMessageHandler = planTextMessageHandler; } + @Override public void handleTextMessage(WebSocketSession session, TextMessage message) throws JsonProcessingException { if (message.getPayloadLength() == 0) { return; diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/MapSessionWebSocketHandlerDecorator.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/MapSessionWebSocketHandlerDecorator.java index ba01ce8..b9c2617 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/MapSessionWebSocketHandlerDecorator.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/MapSessionWebSocketHandlerDecorator.java @@ -5,6 +5,9 @@ import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.WebSocketHandlerDecorator; +/** + * 涓�涓猈ebSocketHandler锛�(瑁呴グ鍣ㄦā寮�)锛屽鐞哤ebSocketSession鐨勫瓨鍙栧拰鍏抽棴 + */ public class MapSessionWebSocketHandlerDecorator extends WebSocketHandlerDecorator { private final SessionKeyGenerator sessionKeyGenerator; diff --git a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/WebSocketSessionHolder.java b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/WebSocketSessionHolder.java index 20b5a03..13b947b 100644 --- a/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/WebSocketSessionHolder.java +++ b/smart-starter-websocket/src/main/java/com/qianwen/core/websocket/holder/WebSocketSessionHolder.java @@ -7,9 +7,11 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import org.springframework.web.socket.WebSocketSession; - +/** + * websocketsession瀛樺彇 + */ public class WebSocketSessionHolder { - private static final Map<Object, Set<WebSocketSession>> USER_SESSION_MAP = new ConcurrentHashMap(); + private static final Map<Object, Set<WebSocketSession>> USER_SESSION_MAP = new ConcurrentHashMap<>(); private WebSocketSessionHolder() { } @@ -32,9 +34,7 @@ } public static Collection<WebSocketSession> getSessions() { - return (Collection) USER_SESSION_MAP.values().stream().flatMap((v0) -> { - return v0.stream(); - }).collect(Collectors.toList()); + return USER_SESSION_MAP.values().stream().flatMap(Collection::stream).collect(Collectors.toList()); } public static Set<Object> SessionKeys() { -- Gitblit v1.9.3