Browse Source

青涩知夏->修改SPI配置

青涩知夏 4 years ago
parent
commit
55f0a61d1d

+ 2 - 14
src/main/java/cn/nosum/gateway/container/NettyGateWayContainer.java

@@ -7,6 +7,7 @@ import cn.nosum.gateway.handler.FinalProcessHandler;
 import cn.nosum.gateway.handler.FullHttpRequestHandler;
 import cn.nosum.gateway.handler.PreProcessHandler;
 import cn.nosum.gateway.handler.SlotProcessHandler;
+import cn.nosum.gateway.handler.build.HandlerProvider;
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.channel.*;
 import io.netty.channel.nio.NioEventLoopGroup;
@@ -33,20 +34,7 @@ public class NettyGateWayContainer implements GateWayContainer {
 			server.group(bossGroup, workerGroup)
 					.channel(NioServerSocketChannel.class)
 					// 子线程处理类 , Handler
-					.childHandler(new ChannelInitializer<SocketChannel>() {
-						// 客户端初始化处理
-						protected void initChannel(SocketChannel client) throws Exception {
-							// Netty对HTTP协议的封装,顺序有要求
-							client.pipeline().addLast(new HttpRequestDecoder());
-							client.pipeline().addLast(new HttpObjectAggregator(65535));//将多个消息转化成一个
-							client.pipeline().addLast(new HttpResponseEncoder());
-							client.pipeline().addLast(new FullHttpRequestHandler());
-							// 业务逻辑处理
-							client.pipeline().addLast(new SlotProcessHandler());
-							client.pipeline().addLast(new PreProcessHandler());
-							client.pipeline().addLast(new FinalProcessHandler());
-						}
-					})
+					.childHandler(HandlerProvider.newHandlerChannel())
 					// 针对主线程的配置 分配线程最大数量 128
 					.option(ChannelOption.SO_BACKLOG, 128)
 					// 针对子线程的配置 保持长连接

+ 1 - 1
src/main/java/cn/nosum/gateway/handler/SlotProcessHandler.java

@@ -5,7 +5,7 @@ import cn.nosum.common.enums.ResultEnum;
 import cn.nosum.common.exception.ExcludeException;
 import cn.nosum.common.http.entity.Context;
 import cn.nosum.gateway.slot.ProcessorSlot;
-import cn.nosum.gateway.slot.SlotChainProvider;
+import cn.nosum.gateway.slot.build.SlotChainProvider;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.SimpleChannelInboundHandler;
 

+ 0 - 21
src/main/java/cn/nosum/gateway/slot/SlotChainProvider.java

@@ -1,21 +0,0 @@
-package cn.nosum.gateway.slot;
-
-
-import cn.nosum.common.extension.ExtensionLoader;
-import cn.nosum.gateway.slot.build.DefaultSlotChainBuilder;
-import cn.nosum.gateway.slot.build.SlotChainBuilder;
-
-public final class SlotChainProvider {
-    private SlotChainProvider() {}
-    private static volatile SlotChainBuilder builder = null;
-
-    public static ProcessorSlotChain newSlotChain() {
-        if (builder != null) {
-            return builder.build();
-        }
-        if (builder == null) {
-            builder = ExtensionLoader.getExtensionLoader(SlotChainBuilder.class).getAdaptiveExtension();
-        }
-        return builder.build();
-    }
-}

+ 3 - 3
src/main/java/cn/nosum/gateway/slot/build/DefaultSlotChainBuilder.java

@@ -3,9 +3,9 @@ package cn.nosum.gateway.slot.build;
 import cn.nosum.common.annotation.Adaptive;
 import cn.nosum.gateway.slot.DefaultProcessorSlotChain;
 import cn.nosum.gateway.slot.ProcessorSlotChain;
-import cn.nosum.gateway.slot.impl.FileProcessorSlotChain;
-import cn.nosum.gateway.slot.impl.LogProcessorSlotChain;
-import cn.nosum.gateway.slot.impl.UrlProcessorSlotChain;
+import cn.nosum.gateway.slot.chain.FileProcessorSlotChain;
+import cn.nosum.gateway.slot.chain.LogProcessorSlotChain;
+import cn.nosum.gateway.slot.chain.UrlProcessorSlotChain;
 
 @Adaptive
 public class DefaultSlotChainBuilder implements SlotChainBuilder {

+ 1 - 1
src/main/java/cn/nosum/gateway/slot/impl/FileProcessorSlotChain.java

@@ -1,4 +1,4 @@
-package cn.nosum.gateway.slot.impl;
+package cn.nosum.gateway.slot.chain;
 
 import cn.nosum.common.http.entity.Context;
 import cn.nosum.common.util.LinuxCmd;

+ 1 - 1
src/main/java/cn/nosum/gateway/slot/impl/LogProcessorSlotChain.java

@@ -1,4 +1,4 @@
-package cn.nosum.gateway.slot.impl;
+package cn.nosum.gateway.slot.chain;
 
 import cn.nosum.common.http.entity.Context;
 import cn.nosum.gateway.slot.AbstractLinkedProcessorSlot;

+ 1 - 1
src/main/java/cn/nosum/gateway/slot/impl/UrlProcessorSlotChain.java

@@ -1,4 +1,4 @@
-package cn.nosum.gateway.slot.impl;
+package cn.nosum.gateway.slot.chain;
 
 import cn.nosum.common.exception.ExcludeException;
 import cn.nosum.gateway.slot.AbstractLinkedProcessorSlot;

+ 1 - 0
src/main/resources/META-INF/gateway/cn.nosum.gateway.handler.build.HandlerBuilder

@@ -0,0 +1 @@
+context=cn.nosum.gateway.handler.build.ContextHandlerBuilder

+ 1 - 0
src/main/resources/application.properties

@@ -1,3 +1,4 @@
 container.port = 8888
 cn.nosum.common.extension.ExtensionFactory = adaptive
 cn.nosum.gateway.container.GateWayContainer = netty
+cn.nosum.gateway.handler.build.HandlerBuilder = context

+ 1 - 1
src/main/resources/log4j.properties

@@ -9,7 +9,7 @@ log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1
 
 # Rirect log messages to a log file
 log4j.appender.file=org.apache.log4j.RollingFileAppender
-log4j.appender.file.File=test.log
+log4j.appender.file.File=logs/nosum-gateway.log
 log4j.appender.file.MaxFileSize=5MB
 log4j.appender.file.MaxBackupIndex=10
 log4j.appender.file.layout=org.apache.log4j.PatternLayout