Explorar el Código

refactor(NettyServerThread): 重构消息处理器依赖注入

- 添加Autowired注解支持依赖注入
- 注入MessageHandler实例替代直接创建对象
- 移除硬编码的消息处理器实例化
- 提升代码可测试性和可维护性
- 遵循Spring框架的依赖注入最佳实践
林仔 hace 1 mes
padre
commit
6bb91dcd9b

+ 7 - 2
manhole-service/src/main/java/com/zksy/manhole/config/NettyServerThread.java

@@ -14,6 +14,7 @@ import io.netty.handler.timeout.ReadTimeoutHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -25,7 +26,11 @@ public class NettyServerThread {
 	@Value("${netty.port:20011}")
 	private int port;
 	private static Logger logger = LoggerFactory.getLogger(NettyServerThread.class);
-
+	private final MessageHandler messageHandler;
+	@Autowired
+	public NettyServerThread(MessageHandler messageHandler) {
+		this.messageHandler = messageHandler;
+	}
 	public void startServer() {
 		System.out.println("Netty服务启动端口号" + port);
 		EventLoopGroup acceptor = new NioEventLoopGroup();
@@ -51,7 +56,7 @@ public class NettyServerThread {
 				logger.info("来自" + ch.remoteAddress() + "的新连接接入");
 				// 注册handler
 				ch.pipeline().addLast(new ReadTimeoutHandler(10));// 超时时间,10s内没有从通道(Channel)读取到任何数据
-				ch.pipeline().addLast(new MessageHandler());
+				ch.pipeline().addLast(messageHandler);
 			}
 		});