From 7981067b68ee94b27d22dd4619c98acdddc3379b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 15 Dec 2025 11:09:59 +0800
Subject: [PATCH] feat(okxNewPrice): 添加防止重复初始化的机制
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxQuantWebSocketClient.java | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxQuantWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxQuantWebSocketClient.java
index d9028ea..93ec73b 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxQuantWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxQuantWebSocketClient.java
@@ -68,16 +68,23 @@
return t;
});
+ // 在 OkxQuantWebSocketClient 中添加初始化标记
+ private final AtomicBoolean isInitialized = new AtomicBoolean(false);
+
/**
* 初始化方法,在 Spring Bean 构造完成后执行。
* 负责建立 WebSocket 连接并启动心跳检测任务。
*/
@PostConstruct
public void init() {
+ // 防止重复初始化
+ if (!isInitialized.compareAndSet(false, true)) {
+ log.warn("OkxQuantWebSocketClient 已经初始化过,跳过重复初始化");
+ return;
+ }
+
connect();
startHeartbeat();
-
- // 移除了每小时重连的定时任务
}
/**
@@ -331,13 +338,13 @@
OrderInfoWs.handleEvent(response, redisUtils);
}else if (AccountWs.ACCOUNTWS_CHANNEL.equals(channel)) {
AccountWs.handleEvent(response);
+ String side = caoZuoService.caoZuo();
+ TradeOrderWs.orderEvent(webSocketClient, side);
} else if (PositionsWs.POSITIONSWS_CHANNEL.equals(channel)) {
PositionsWs.handleEvent(response);
} else if (BalanceAndPositionWs.CHANNEL_NAME.equals(channel)) {
BalanceAndPositionWs.handleEvent(response);
}
- String side = caoZuoService.caoZuo();
- TradeOrderWs.orderEvent(webSocketClient, side);
}
/**
--
Gitblit v1.9.1