在引导过程中添加多个 ChannelHandler
Netty 提供了一个特殊的 ChannelInboundHandlerAdapter 子类:
public abstract class ChannelInitializer<C extends Channel> extends ChannelInboundHandlerAdapter
它定义了下面的方法:
protect ed abstract void initChannel(C ch) throws Exception;
这个方法提供了一种将多个 ChannelHandler 添加到一个 ChannelPipeline 中的简便方法。 你只需要简单地向 Bootstrap 或 ServerBootstrap 的实例提供你的 ChannelInitializer 实现即 可,并且一旦 Channel 被注册到了它的 EventLoop 之后,就会调用你的 initChannel()版本。
在该方法返回之后,ChannelInitializer 的实例将会从 ChannelPipeline 中移除它自己。