【发布时间】:2021-03-28 04:47:38
【问题描述】:
ReadTimeoutHandler 的行为在 Netty 4 中与 Netty 3 相比似乎发生了变化。在 Netty 4 中,当超时触发时,Netty 不仅会引发ReadTimeoutException,还会关闭通道。这不是以前的情况。在 Netty 3 中,行为是只提高ReadTimeoutException,通道没有关闭。
我有一个用例,我需要在超时时向通道写入消息。这不能再这样做了,因为到了处理抛出的ReadTimeoutException 的代码时,通道已经关闭了。
关于如何在 Netty 4 中处理这个用例的任何提示/想法?基本上在 Netty 关闭频道之前写到ReadTimeoutException 上的频道?
【问题讨论】:
-
目前一个可行的解决方案是扩展 ReadTimeoutHandler 而不是在 readTimedOut 实现中关闭通道。看看更熟悉 Netty 的人是否有更惯用的方法会很酷