From befe5abe0cc877756c44b5af77f79040672fbcb0 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Fri, 29 May 2026 09:34:31 +0800 Subject: [PATCH] =?UTF-8?q?refactor(detection):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=93=E7=94=A8=E7=9A=84=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E9=87=8A=E6=94=BE=E6=A3=80=E6=B5=8B=E9=94=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除了测试期间用于模拟BUSY弹窗的延迟释放机制 - 移除了RELEASE_DELAY_FOR_TEST_SECONDS常量和DELAYED_RELEASER调度器 - 简化了连接失败和异常时的检测锁释放逻辑,改为立即释放 - 清理了相关的测试日志输出代码 --- .../util/socket/cilent/NettyClient.java | 36 +++---------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyClient.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyClient.java index 107f303b..dbd4d31d 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyClient.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyClient.java @@ -27,8 +27,6 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; /** @@ -45,20 +43,6 @@ import java.util.concurrent.TimeUnit; @Component public class NettyClient { - // ========== TODO TEST-ONLY: 联调 BUSY 弹窗用,测试完成后整段删除 ========== - /** - * 测试期:连接源/设备失败时,延迟若干秒再释放检测锁,方便手动测试 BUSY 弹窗。 - * 正式上线时把 RELEASE_DELAY_FOR_TEST_SECONDS 改回 0 或直接删除调度逻辑。 - */ - private static final long RELEASE_DELAY_FOR_TEST_SECONDS = 300L; - private static final ScheduledExecutorService DELAYED_RELEASER = - Executors.newSingleThreadScheduledExecutor(r -> { - Thread t = new Thread(r, "lock-release-delay-test"); - t.setDaemon(true); - return t; - }); - // ========== /TODO TEST-ONLY ========== - @Resource private SocketSourceResponseService socketSourceResponseService; @@ -389,15 +373,9 @@ public class NettyClient { // 异步建连失败时前端原本静默,补一次通知避免用户黑屏等待 notifyFrontendError(param, handler); // 释放检测锁:抢锁后由 controller 异步发起的建连若失败,无法走 controller 兜底 - // TODO TEST-ONLY: 测试 BUSY 弹窗期间延迟释放,正式部署改回立即释放 if (param != null && param.getUserPageId() != null) { - final String userPageId = param.getUserPageId(); - DELAYED_RELEASER.schedule( - () -> DetectionLockManager.getInstance() - .releaseIfMatchPage(userPageId, "ASYNC_CONNECT_FAILED_DELAYED"), - RELEASE_DELAY_FOR_TEST_SECONDS, TimeUnit.SECONDS); - log.warn("[TEST-ONLY] 检测锁将在 {}s 后释放(连接失败延迟释放,便于测试 BUSY 弹窗),userPageId={}", - RELEASE_DELAY_FOR_TEST_SECONDS, userPageId); + DetectionLockManager.getInstance() + .releaseIfMatchPage(param.getUserPageId(), "ASYNC_CONNECT_FAILED"); } } @@ -489,15 +467,9 @@ public class NettyClient { notifyFrontendError(param, handler); // 释放检测锁,理由同 onConnectionFailure - // TODO TEST-ONLY: 测试 BUSY 弹窗期间延迟释放,正式部署改回立即释放 if (param != null && param.getUserPageId() != null) { - final String userPageId = param.getUserPageId(); - DELAYED_RELEASER.schedule( - () -> DetectionLockManager.getInstance() - .releaseIfMatchPage(userPageId, "ASYNC_CONNECT_EXCEPTION_DELAYED"), - RELEASE_DELAY_FOR_TEST_SECONDS, TimeUnit.SECONDS); - log.warn("[TEST-ONLY] 检测锁将在 {}s 后释放(连接异常延迟释放,便于测试 BUSY 弹窗),userPageId={}", - RELEASE_DELAY_FOR_TEST_SECONDS, userPageId); + DetectionLockManager.getInstance() + .releaseIfMatchPage(param.getUserPageId(), "ASYNC_CONNECT_EXCEPTION"); } }