From ed02adce53d9f51287e14764815006dd4d040daf Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 18 Jun 2026 21:25:46 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/ws/WebSocketClientBeanConfig.java | 51 ++++++++++++++++++++++-----------------------------
1 files changed, 22 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
index 639832f..38ba2d2 100644
--- a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
+++ b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
@@ -21,46 +21,39 @@
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 websocketRunClient = new WebsocketRunClient(
+ new URI(PropertiesUtil.getProperty("JS_IN_WS_URL")), EStockType.IN);
websocketRunClient.connect();
websocketRunClient.setConnectionLostTimeout(0);
+ retMap.put(EStockType.IN.getCode(), websocketRunClient);
new Thread(() -> {
- while (true) {
+ while (!Thread.currentThread().isInterrupted()) {
try {
Thread.sleep(8000);
+ if (!websocketRunClient.isOpen()) {
+ log.warn("印度股票 websocket 未连接,尝试重连");
+ websocketRunClient.reconnectBlocking();
+ websocketRunClient.setConnectionLostTimeout(0);
+ continue;
+ }
websocketRunClient.send("heartbeat".getBytes());
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ break;
} catch (Exception e) {
- websocketRunClient.reconnect();
- websocketRunClient.setConnectionLostTimeout(0);
+ log.warn("印度股票 websocket 保活异常: {}", e.getMessage());
+ try {
+ websocketRunClient.reconnectBlocking();
+ websocketRunClient.setConnectionLostTimeout(0);
+ } catch (Exception reconnectEx) {
+ log.warn("印度股票 websocket 重连失败: {}", reconnectEx.getMessage());
+ }
}
}
- }).start();
- retMap.put(EStockType.IN.getStockKey(), websocketRunClient);
+ }, "ws-in-keepalive").start();
} 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) {
+ log.error("印度股票 websocket 初始化失败", e);
}
return retMap;
--
Gitblit v1.9.3