在 netty 中丢弃一条消息

Discarding a message in netty

有谁知道在 Netty 中如何丢弃消息?丢弃是指它不会在通道上进一步转发到管道中的其他处理程序。

我可以这样做吗?

public class DiscardInboundHandler extends ChannelInboundHandlerAdapter {

@Override
public void channelRead(ChannelHandlerContext ctx,
                                 Object msg) {
    ReferenceCountUtil.release(msg);
}

}

用户有责任调用 ReferenceCountUtil.release(message) 如果消息是 在 ChannelPipleline 中被消耗掉,并没有传递给下一个 ChannelOutboundHandler。一旦消息被传递到实际的传输,一旦消息被写入或通道被关闭,它将被自动释放。

来源:Netty in Action 一书