I think you could just use ChannelFutureListener.CLOSE_ON_ERROR.