需要理解ChannelPipeline中的Handler链,才能完成理解其中入站出站的调用关系,入站是从head到tail,出站则相反从tail到head,异常是不会管是出站还是入站的都从下一个(next)开始,因此一般来说异常处理Handler都加到ChannelPipeline的tail节点前一个节点即可(即自定义Handler的最后一个),ChannelHandlerContext的write()方法是从当前节点的上(prev)一个出站节点开始执行,只经过了部分链路,而Channel和ChannelPipeline的write()方法是从尾结点开始往后执行的,经过了全部链路,这就是区别。
注意:本文归作者所有,未经作者允许,不得转载