Netty:禁用自动读取不适用于`ByteToMessageDecoder`?

时间:2016-05-31 01:22:17

标签: java netty

我正在使用Maven central的4.1.0.Final。

在我的应用程序中,我在这样的某个点之后禁用自动读取:

channel.config().setIsAutoRead(false);

我没有拨打read,但我的申请仍在阅读。在我的管道中只有一个ByteToMessageDecoder,我的(可共享)初始化程序是我的服务器引导程序的子处理程序。

这是为什么?可以自动禁用自动读取功能吗?这是一个错误吗?

2 个答案:

答案 0 :(得分:3)

如果您的管道中有ByteToMessageDecoder,它将继续读取,直到您将Object放入解码方法的out列表中。这是因为否则用户可能永远不会有机会自己调用read()。

答案 1 :(得分:2)

最近添加了

FlowControlHandler,在这种情况下可能会有用。