From 3c8bcbf1f3a594fe7c28cb5534f8f15e828f8ae6 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Sun, 9 Oct 2022 21:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AFClientChannelHandler?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/config/ProxyConfiguration.java | 30 +++++++++++++++++++ .../client/core/ClientChannelHandler.java | 22 +++++--------- .../proxy/core/ServerChannelHandler.java | 11 ------- 3 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfiguration.java diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfiguration.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfiguration.java new file mode 100644 index 00000000..1c68f237 --- /dev/null +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfiguration.java @@ -0,0 +1,30 @@ +package fun.asgc.neutrino.proxy.client.config; + +import fun.asgc.neutrino.core.annotation.Bean; +import fun.asgc.neutrino.core.annotation.Component; +import fun.asgc.neutrino.core.annotation.Order; +import fun.asgc.neutrino.core.base.DefaultDispatcher; +import fun.asgc.neutrino.core.base.Dispatcher; +import fun.asgc.neutrino.core.base.Ordered; +import fun.asgc.neutrino.core.util.BeanManager; +import fun.asgc.neutrino.proxy.core.ProxyDataTypeEnum; +import fun.asgc.neutrino.proxy.core.ProxyMessage; +import fun.asgc.neutrino.proxy.core.ProxyMessageHandler; +import io.netty.channel.ChannelHandlerContext; + +/** + * 代理配置 + * @author: aoshiguchen + * @date: 2022/10/8 + */ +@Order(Ordered.HIGHEST_PRECEDENCE) +@Component +public class ProxyConfiguration { + + @Bean + public Dispatcher dispatcher() { + return new DefaultDispatcher<>("消息调度器", + BeanManager.getBeanListBySuperClass(ProxyMessageHandler.class), + proxyMessage -> ProxyDataTypeEnum.of((int)proxyMessage.getType()) == null ? null : ProxyDataTypeEnum.of((int)proxyMessage.getType()).getName()); + } +} diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ClientChannelHandler.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ClientChannelHandler.java index 8efa858d..566007cf 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ClientChannelHandler.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ClientChannelHandler.java @@ -22,13 +22,15 @@ package fun.asgc.neutrino.proxy.client.core; -import fun.asgc.neutrino.core.base.DefaultDispatcher; import fun.asgc.neutrino.core.base.Dispatcher; import fun.asgc.neutrino.core.util.BeanManager; -import fun.asgc.neutrino.core.util.LockUtil; import fun.asgc.neutrino.proxy.client.util.ProxyUtil; -import fun.asgc.neutrino.proxy.core.*; -import io.netty.channel.*; +import fun.asgc.neutrino.proxy.core.Constants; +import fun.asgc.neutrino.proxy.core.ProxyMessage; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOption; +import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.timeout.IdleStateEvent; import lombok.extern.slf4j.Slf4j; @@ -44,17 +46,7 @@ public class ClientChannelHandler extends SimpleChannelInboundHandler null == dispatcher, - ClientChannelHandler.class, - () -> { - dispatcher = new DefaultDispatcher<>("消息调度器", - BeanManager.getBeanListBySuperClass(ProxyMessageHandler.class), - proxyMessage -> ProxyDataTypeEnum.of((int)proxyMessage.getType()) == null ? null : ProxyDataTypeEnum.of((int)proxyMessage.getType()).getName()); - }); - } catch (Exception e) { - e.printStackTrace(); - } + dispatcher = BeanManager.getBean(Dispatcher.class); } @Override diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ServerChannelHandler.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ServerChannelHandler.java index ede4f420..b6eaa465 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ServerChannelHandler.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ServerChannelHandler.java @@ -45,17 +45,6 @@ public class ServerChannelHandler extends SimpleChannelInboundHandler null == dispatcher, -// ServerChannelHandler.class, -// () -> { -// dispatcher = new DefaultDispatcher<>("消息调度器", -// BeanManager.getBeanListBySuperClass(ProxyMessageHandler.class), -// proxyMessage -> ProxyDataTypeEnum.of((int)proxyMessage.getType()) == null ? null : ProxyDataTypeEnum.of((int)proxyMessage.getType()).getName()); -// }); -// } catch (Exception e) { -// e.printStackTrace(); -// } } @Override