From 95377c95656d917e975d44b4906d8161a561150e Mon Sep 17 00:00:00 2001 From: qiminbao Date: Mon, 25 Aug 2025 20:13:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF=E5=88=B0mq?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/enpoint/AgentEndpoint.java | 24 +++++++++++++++++++ .../server/handler/AgentDecoderHandler.java | 19 ++++++++------- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/tongran/agenttcp/server/enpoint/AgentEndpoint.java b/src/main/java/com/tongran/agenttcp/server/enpoint/AgentEndpoint.java index 383c69a..491b20c 100644 --- a/src/main/java/com/tongran/agenttcp/server/enpoint/AgentEndpoint.java +++ b/src/main/java/com/tongran/agenttcp/server/enpoint/AgentEndpoint.java @@ -252,6 +252,30 @@ public class AgentEndpoint { } } + @AgentDispatcher(msgId = MsgEnum.容器包) + public class DockerHandler implements AgentMsgHandler { + @Override + public UpMsgResponse upHandle(String data, String clientId) { + JSONObject jsonObject = JSONObject.parseObject(data); + jsonObject.put("dataType",MsgEnum.容器包.getValue()); + MqMsg mqMsg = MqMsg.builder().topic(agentMqConfig.getAgentTopic()).content(jsonObject.toString()).build(); + agentProducer.asyncSend(mqMsg); + JSONObject json = new JSONObject(); + json.put("resCode",1); + return UpMsgResponse.builder().clientId(clientId).content(json.toString()).build(); + } + } + + @AgentDispatcher(msgId = MsgEnum.容器包应答) + public class DockerRspHandler implements AgentMsgHandler { + @Override + public String downHandle(String data) { + StringBuilder res = new StringBuilder(); + + return res.toString(); + } + } + @AgentDispatcher(msgId = MsgEnum.交换机包) public class SwitchBoardHandler implements AgentMsgHandler { @Override diff --git a/src/main/java/com/tongran/agenttcp/server/handler/AgentDecoderHandler.java b/src/main/java/com/tongran/agenttcp/server/handler/AgentDecoderHandler.java index 3343d96..188c7c8 100644 --- a/src/main/java/com/tongran/agenttcp/server/handler/AgentDecoderHandler.java +++ b/src/main/java/com/tongran/agenttcp/server/handler/AgentDecoderHandler.java @@ -3,6 +3,7 @@ package com.tongran.agenttcp.server.handler; import cn.hutool.cache.Cache; import cn.hutool.cache.CacheUtil; import cn.hutool.core.date.DateUnit; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSONObject; import com.tongran.agenttcp.server.annotation.AgentDispatcher; import com.tongran.agenttcp.server.basics.AgentDispatcherManager; @@ -101,14 +102,16 @@ public class AgentDecoderHandler extends ChannelInboundHandlerAdapter { String clientId = jsonObject.getString("clientId"); String dataType = jsonObject.getString("dataType"); AgentMsgHandler msgHandler = agentDispatcherManager.getHandler(dataType + "&" + AgentDispatcher.VersionEnum.V1.value); - UpMsgResponse response = msgHandler.upHandle(message, clientId ); - AssertLog.info("<<[up-after-handle]:clientId:{},type={},[handle-content]={}", response.getClientId(), dataType, message); - if(Objects.nonNull(response)){ - Message agentMessage = Message.builder().build(); - agentMessage.setClientId(response.getClientId()); - agentMessage.setDataType(dataType); - agentMessage.setData(response.getContent()); - ctx.fireChannelRead(agentMessage);//传递到下一个handler + if (ObjectUtil.isNotEmpty(msgHandler)) { + UpMsgResponse response = msgHandler.upHandle(message, clientId ); + AssertLog.info("<<[up-after-handle]:clientId:{},type={},[handle-content]={}", response.getClientId(), dataType, message); + if(Objects.nonNull(response)){ + Message agentMessage = Message.builder().build(); + agentMessage.setClientId(response.getClientId()); + agentMessage.setDataType(dataType); + agentMessage.setData(response.getContent()); + ctx.fireChannelRead(agentMessage);//传递到下一个handler + } } } }