From d60966dd3f8af2c8031b9c875dccc494d1cffbe1 Mon Sep 17 00:00:00 2001 From: zc Date: Fri, 13 Mar 2026 09:47:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms-common/.flattened-pom.xml | 5 +++ wms-module-system/.flattened-pom.xml | 6 ++++ .../controller/tcp/config/NettyTcpServer.java | 35 +++++++++---------- .../tcp/service/CommandService.java | 12 ++----- .../controller/vm/VmCommandController.java | 4 +-- .../weighManage/ah/AHDZCConnect.java | 3 +- .../main/resources/config/application-dev.yml | 2 +- 7 files changed, 35 insertions(+), 32 deletions(-) diff --git a/wms-common/.flattened-pom.xml b/wms-common/.flattened-pom.xml index 2645cfc..5ac84e1 100644 --- a/wms-common/.flattened-pom.xml +++ b/wms-common/.flattened-pom.xml @@ -119,5 +119,10 @@ org.springframework spring-test + + io.netty + netty-all + 4.1.100.Final + diff --git a/wms-module-system/.flattened-pom.xml b/wms-module-system/.flattened-pom.xml index e1939ad..a4dcdca 100644 --- a/wms-module-system/.flattened-pom.xml +++ b/wms-module-system/.flattened-pom.xml @@ -21,5 +21,11 @@ top.wms wms-common + + javax.annotation + javax.annotation-api + 1.3.2 + provided + diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/config/NettyTcpServer.java b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/config/NettyTcpServer.java index c84e76e..fccfe7e 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/config/NettyTcpServer.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/config/NettyTcpServer.java @@ -33,7 +33,6 @@ public class NettyTcpServer { private EventLoopGroup workerGroup; private Channel serverChannel; - @PostConstruct public void start() throws InterruptedException { log.info("正在启动TCP服务端,端口: {}", port); @@ -43,27 +42,27 @@ public class NettyTcpServer { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.group(bossGroup, workerGroup) - .channel(NioServerSocketChannel.class) - .option(ChannelOption.SO_BACKLOG, 128) - .childOption(ChannelOption.SO_KEEPALIVE, true) - .childHandler(new ChannelInitializer() { - @Override - protected void initChannel(SocketChannel ch) { - ChannelPipeline pipeline = ch.pipeline(); + .channel(NioServerSocketChannel.class) + .option(ChannelOption.SO_BACKLOG, 128) + .childOption(ChannelOption.SO_KEEPALIVE, true) + .childHandler(new ChannelInitializer() { + @Override + protected void initChannel(SocketChannel ch) { + ChannelPipeline pipeline = ch.pipeline(); - // 解决TCP粘包问题 - pipeline.addLast(new LineBasedFrameDecoder(1024)); + // 解决TCP粘包问题 + pipeline.addLast(new LineBasedFrameDecoder(1024)); - // 字符串编解码 - pipeline.addLast(new StringDecoder(CharsetUtil.UTF_8)); - pipeline.addLast(new StringEncoder(CharsetUtil.UTF_8)); + // 字符串编解码 + pipeline.addLast(new StringDecoder(CharsetUtil.UTF_8)); + pipeline.addLast(new StringEncoder(CharsetUtil.UTF_8)); - // 关键修复:直接new,不要从Spring容器获取 - pipeline.addLast(new TcpServerHandler()); + // 关键修复:直接new,不要从Spring容器获取 + pipeline.addLast(new TcpServerHandler()); - log.debug("新连接接入,处理器已添加"); - } - }); + log.debug("新连接接入,处理器已添加"); + } + }); ChannelFuture future = bootstrap.bind(port).sync(); if (future.isSuccess()) { diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java index d431183..e8f234c 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java @@ -2,9 +2,6 @@ package top.wms.admin.controller.tcp.service; import io.netty.channel.Channel; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.web.bind.annotation.RequestParam; -import top.continew.starter.core.validation.CheckUtils; import top.wms.admin.controller.tcp.manager.ChannelManager; import top.wms.admin.controller.tcp.model.VMResult; import lombok.extern.slf4j.Slf4j; @@ -51,10 +48,8 @@ public class CommandService { // 获取统计信息 public String getStatistics() { - return String.format("成功: %d, 失败: %d, 总数: %d", - successCount.get(), - failCount.get(), - successCount.get() + failCount.get()); + return String.format("成功: %d, 失败: %d, 总数: %d", successCount.get(), failCount.get(), successCount + .get() + failCount.get()); } // 获取最新结果 @@ -62,11 +57,10 @@ public class CommandService { return resultQueue.peek(); } - @Autowired private ChannelManager channelManager; -// @Scheduled(cron = "*/3 * * * * ?") + // @Scheduled(cron = "*/3 * * * * ?") public void sendAndWait() { // 1. 检查连接 log.info("查询时间========"); diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/vm/VmCommandController.java b/wms-webapi/src/main/java/top/wms/admin/controller/vm/VmCommandController.java index 32c0faa..5649216 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/vm/VmCommandController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/vm/VmCommandController.java @@ -32,13 +32,13 @@ public class VmCommandController { log.info("发送指令: {}", sendMsg); // 3. 等待响应 String response = requestMatcher.waitForResponse(20); - CheckUtils.throwIf("TIMEOUT".equals(response),"响应超时,请重试"); + CheckUtils.throwIf("TIMEOUT".equals(response), "响应超时,请重试"); if (StrUtil.equals(response, "success") || StrUtil.equals(response, "failed")) { return response; } if (StrUtil.equals(response, msg)) { response = "success"; - }else{ + } else { response = "failed"; } // 4. 返回结果 diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java index 39da65b..07ac312 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java @@ -52,10 +52,9 @@ public class AHDZCConnect { @PostConstruct public void init() { // 项目启动时初始化并启动服务 - if (false) { ScaleService(); start(); - } + } @PreDestroy diff --git a/wms-webapi/src/main/resources/config/application-dev.yml b/wms-webapi/src/main/resources/config/application-dev.yml index 0242e8b..25b1325 100644 --- a/wms-webapi/src/main/resources/config/application-dev.yml +++ b/wms-webapi/src/main/resources/config/application-dev.yml @@ -14,7 +14,7 @@ spring.datasource: # 请务必提前创建好名为 wms_admin 的数据库,如果使用其他数据库名请注意同步修改 DB_NAME 配置 url: jdbc:p6spy:mysql://127.0.0.1:3306/wms?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true username: root - password: test123$ + password: root # PostgreSQL 配置 # url: jdbc:p6spy:mysql://192.168.2.30:${DB_PORT:3306}/continew?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # username: ${DB_USER:root}