package com.zy.gateway.pipeline; import io.netty.channel.Channel; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelInitializer; import io.netty.handler.timeout.IdleStateHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * handler管道 * 控制所有netty handler流向 * 待完成: 动态管理handler * Created by vincent on 2019-04-02 */ @Component @ChannelHandler.Sharable public class HandlerInitializer extends ChannelInitializer { @Autowired private PipelineProperties pipelineProperties; /** * Set some channel handlers on channel pipeline */ @Override protected void initChannel(Channel channel) { channel.pipeline() // 心跳 .addLast(new IdleStateHandler(pipelineProperties.getHeartSeconds(), 0, 0)) // // 编码器 // .addLast(protocolEncoder) // // 解码器 // .addLast(new ProtocolDecoder(4096)) // // 校验码处理器 // .addLast(validateHandler) // // 认证处理器 // .addLast(vehAuthHandler) // // 业务处理器 // .addLast(gbPackageServerHandler) // // 通道保护器 // .addLast(protectorHandler) ; // Channel局部变量,相当于线程的ThreadLocal // initAttrTrack(channel); } }