Netty之ChannelPipeline(二)移除ChannelHandler
上次说了添加,这次看看移除。 remove(ChannelHandler handler)方法,从pipeline移除指定ChannelHandler对象 @Override public final ChannelPipeline remove ( ChannelHandler handler ) { remove ( getContextOrDie ( handler ) ) ; return this ; } getContextOrDie(ChannelHandler handler)方法获得相应AbstractChannelHandlerContext节点: private AbstractChannelHandlerContext getContextOrDie ( ChannelHandler handler ) { AbstractChannelHandlerContext ctx = ( AbstractChannelHandlerContext ) context ( handler ) ; if ( ctx == null ) { //若得不到节点,抛异常 throw new NoSuchElementException ( handler . getClass ( ) . getName ( ) ) ; } else { return ctx ; } }