From af7f754c7eeb82a7ec7570d1396ff91848d83ca7 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 14 Jan 2026 18:09:30 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/ws/WebSocketClientBeanConfig.java | 103 +++++++++++++++++++++------------------------------
1 files changed, 43 insertions(+), 60 deletions(-)
diff --git a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
index 531cfaa..53ac141 100644
--- a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
+++ b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
@@ -1,6 +1,5 @@
package com.nq.ws;
-
import com.nq.enums.EStockType;
import com.nq.utils.PropertiesUtil;
import lombok.extern.slf4j.Slf4j;
@@ -21,67 +20,51 @@
public Map<String, WebSocketClient> websocketRunClientMap() {
Map<String, WebSocketClient> retMap = new HashMap<>(2);
- try {
- WebsocketRunClient websocketRunClient = new WebsocketRunClient(new URI(PropertiesUtil.getProperty("MAS_WS_URL")));
- websocketRunClient.connect();
- websocketRunClient.setConnectionLostTimeout(0);
- new Thread(() -> {
- while (true) {
- try {
- Thread.sleep(8000);
- websocketRunClient.send("heartbeat".getBytes());
- } catch (Exception e) {
- websocketRunClient.reconnect();
- websocketRunClient.setConnectionLostTimeout(0);
- }
- }
- }).start();
- retMap.put(EStockType.MAS.getStockKey(), websocketRunClient);
- } catch (Exception e) {
- }
-
- try {
- USWebsocketRunClient usWebsocketRunClient = new USWebsocketRunClient(new URI(PropertiesUtil.getProperty("US_WS_URL")));
- usWebsocketRunClient.connect();
- usWebsocketRunClient.setConnectionLostTimeout(0);
- new Thread(() -> {
- while (true) {
- try {
- Thread.sleep(8000);
- usWebsocketRunClient.send("heartbeat".getBytes());
- } catch (Exception e) {
- usWebsocketRunClient.reconnect();
- usWebsocketRunClient.setConnectionLostTimeout(0);
- }
- }
- }).start();
- retMap.put(EStockType.US.getStockKey(), usWebsocketRunClient);
- } catch (Exception e) {
- }
-
-
- try {
- HKWebsocketRunClient hkWebsocketRunClient = new HKWebsocketRunClient(new URI(PropertiesUtil.getProperty("HK_WS_URL")));
- hkWebsocketRunClient.connect();
- hkWebsocketRunClient.setConnectionLostTimeout(0);
- new Thread(() -> {
- while (true) {
- try {
- Thread.sleep(8000);
- hkWebsocketRunClient.send("heartbeat".getBytes());
- } catch (Exception e) {
- hkWebsocketRunClient.reconnect();
- hkWebsocketRunClient.setConnectionLostTimeout(0);
- }
- }
- }).start();
- retMap.put(EStockType.HK.getStockKey(), hkWebsocketRunClient);
- } catch (Exception e) {
- }
-
-
+// try {
+// JPWebsocketRunClient jpWebsocketRunClient = new JPWebsocketRunClient(new URI(PropertiesUtil.getProperty("JP_WS_URL")), EStockType.JP);
+// jpWebsocketRunClient.connect();
+// jpWebsocketRunClient.setConnectionLostTimeout(0);
+// startHeartbeatThread(jpWebsocketRunClient);
+// retMap.put(EStockType.JP.getStockKey(), jpWebsocketRunClient);
+// } catch (Exception e) {
+// log.error("jpWebsocketRunClient 异常: {}", e.getMessage());
+// }
+// try {
+// USWebsocketRunClient usWebsocketRunClient = new USWebsocketRunClient(new URI(PropertiesUtil.getProperty("US_WS_URL")), EStockType.US);
+// usWebsocketRunClient.connect();
+// usWebsocketRunClient.setConnectionLostTimeout(0);
+// startHeartbeatThread(usWebsocketRunClient);
+// retMap.put(EStockType.US.getStockKey(), usWebsocketRunClient);
+// } catch (Exception e) {
+// log.error("usWebsocketRunClient 异常: {}", e.getMessage());
+// }
return retMap;
+ }
+
+ private void startHeartbeatThread(WebSocketClient client) {
+ new Thread(() -> {
+ while (true) {
+ try {
+ Thread.sleep(8000);
+ if (client.isOpen()) { // 先检查连接状态
+ client.send("heartbeat".getBytes());
+ } else {
+ client.reconnect();
+ client.setConnectionLostTimeout(0);
+ }
+ } catch (Exception e) {
+ log.error("心跳线程异常, 尝试重连: {}", e.getMessage());
+ try {
+ client.reconnect();
+ client.setConnectionLostTimeout(0);
+ } catch (Exception re) {
+ log.error("重连失败: {}", re.getMessage());
+ }
+ }
+ }
+ }).start();
}
}
+
--
Gitblit v1.9.3