From 83fb34d384e17585facc21f918d0b3b244e99910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 18 Dec 2025 19:56:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/tuoheng/machine/command/TransactionExecutor.java | 3 +++ src/test/java/com/tuoheng/machine/SubCommandTest.java | 2 +- .../java/com/tuoheng/machine/vendor/test/TestVendorConfig.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/tuoheng/machine/command/TransactionExecutor.java b/src/main/java/com/tuoheng/machine/command/TransactionExecutor.java index 504abdd..01a4c12 100644 --- a/src/main/java/com/tuoheng/machine/command/TransactionExecutor.java +++ b/src/main/java/com/tuoheng/machine/command/TransactionExecutor.java @@ -248,6 +248,9 @@ public class TransactionExecutor { if (callbackConfig.matches(messageBody)) { future.complete(InstructionResult.success(messageBody)); log.debug("收到匹配的回调消息: topic={}", callbackConfig.getTopic()); + } else { + // 不匹配,重置状态,继续等待 + callbackReceived.set(false); } } }, diff --git a/src/test/java/com/tuoheng/machine/SubCommandTest.java b/src/test/java/com/tuoheng/machine/SubCommandTest.java index fe9673a..c38a58a 100644 --- a/src/test/java/com/tuoheng/machine/SubCommandTest.java +++ b/src/test/java/com/tuoheng/machine/SubCommandTest.java @@ -135,7 +135,7 @@ public class SubCommandTest { Thread.sleep(100); response = "{\"result\":\"subSuccess\"}"; - mqttCallbackRegistry.handleMessage("test/" + TEST_SN + "/response", response); + mqttCallbackRegistry.handleMessage("test/" + TEST_SN + "/response123", response); log.info(">>> 模拟发送成功子指令方法回调: {}", response); } catch (InterruptedException e) { diff --git a/src/test/java/com/tuoheng/machine/vendor/test/TestVendorConfig.java b/src/test/java/com/tuoheng/machine/vendor/test/TestVendorConfig.java index ec6531a..1ffc618 100644 --- a/src/test/java/com/tuoheng/machine/vendor/test/TestVendorConfig.java +++ b/src/test/java/com/tuoheng/machine/vendor/test/TestVendorConfig.java @@ -141,7 +141,7 @@ public class TestVendorConfig implements VendorConfig { Transaction complexTransaction = new Transaction("复杂指令树", CommandType.ENTER_DRC_MODE) .root(complexRoot) - .setTimeout(25000); + .setTimeout(10000); transactionMap.put(CommandType.ENTER_DRC_MODE, complexTransaction); // 9. 指令被拒绝 - canExecute返回false