channelHandler生命周期图

可以看到这里的ChannelHandler的顺序如下:
handlerAdded() –> channelRegistered() –> channelActive() –> channelRead() –> channelReadComplete() –> channelInactive() –> channelUnregistered() –> handlerRemoved()
每个回调方法的具体含义如下:
handlerAdded(): 当检测到新的连接之后,调用ch.pipeline().addLast(new LifeCycleTestHandler())之后的回调,表示当前的channel中已经成功添加了一个逻辑处理器channelRegistered(): 表示当前的 channel 的所有的逻辑处理已经和某个 NIO 线程建立了绑定关系channelActive(): 当 channel 的 pipeline 中已经添加完所有的 handler 以及绑定好一个NIO线程之后,这条连接算是真正激活了,接下来就会回调这个方法channelRead(): 客户端向服务端每次发来数据之后,都会回调这个方法,表示有数据可读channelReadComplete(): 服务端每次读完一次完整的数据之后,都会回调这个方法,表示数据读取完毕channelInactive(): 表示这条连接被关闭了channelUnregistered(): 表明与这条连接对应的 NIO 线程移除掉对这条连接的处理handlerRemoved(): 最后把这条连接上的所有逻辑处理器全部移除掉
