From e35adcca17e9f6760c32af72fdaf0396804b46a4 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Sat, 8 Oct 2022 23:20:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AFServerChannelHandler?= =?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 --- .../server/base/proxy/ProxyConfiguration.java | 30 +++++++++++++++++++ ...figuration.java => RestConfiguration.java} | 2 +- .../proxy/core/ServerChannelHandler.java | 28 ++++++++--------- 3 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/proxy/ProxyConfiguration.java rename neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/{SystemConfiguration.java => RestConfiguration.java} (98%) diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/proxy/ProxyConfiguration.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/proxy/ProxyConfiguration.java new file mode 100644 index 00000000..1906184a --- /dev/null +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/proxy/ProxyConfiguration.java @@ -0,0 +1,30 @@ +package fun.asgc.neutrino.proxy.server.base.proxy; + +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-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/SystemConfiguration.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/RestConfiguration.java similarity index 98% rename from neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/SystemConfiguration.java rename to neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/RestConfiguration.java index b65e2be9..8dd416b2 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/SystemConfiguration.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/config/RestConfiguration.java @@ -35,7 +35,7 @@ import javax.sql.DataSource; */ @Order(Ordered.HIGHEST_PRECEDENCE) @Component -public class SystemConfiguration { +public class RestConfiguration { @Autowired private SqliteConfig sqliteConfig; 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 dbe91058..ede4f420 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 @@ -22,11 +22,10 @@ package fun.asgc.neutrino.proxy.server.proxy.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.core.*; +import fun.asgc.neutrino.proxy.core.Constants; +import fun.asgc.neutrino.proxy.core.ProxyMessage; import fun.asgc.neutrino.proxy.server.proxy.domain.CmdChannelAttachInfo; import fun.asgc.neutrino.proxy.server.service.ProxyMutualService; import fun.asgc.neutrino.proxy.server.util.ProxyUtil; @@ -45,17 +44,18 @@ public class ServerChannelHandler extends SimpleChannelInboundHandler dispatcher; public ServerChannelHandler() { - try { - LockUtil.doubleCheckProcess(() -> 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(); - } + dispatcher = BeanManager.getBean(Dispatcher.class); +// try { +// LockUtil.doubleCheckProcess(() -> 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