Netty ReadTimeoutException事件

Netty ReadTimeoutException事件,netty,Netty,我使用的是Netty IO版本3.6.3,有一个带有上游和下游处理程序的管道。实现的服务器读取消息、处理消息并发送响应。管道的第一个处理程序包含ReadTimeoutHandler。如果处理超过超时,将触发ReadTimeoutException事件。有时,它会在响应写入通道之前触发。当exceptionCaught()方法响应ReadTimeoutException事件时,代码会使用超时异常调整响应,并尝试将响应写入通道。然而,该频道已关闭。ReadTimeoutHandler生成的ReadT

我使用的是Netty IO版本3.6.3,有一个带有上游和下游处理程序的管道。实现的服务器读取消息、处理消息并发送响应。管道的第一个处理程序包含ReadTimeoutHandler。如果处理超过超时,将触发ReadTimeoutException事件。有时,它会在响应写入通道之前触发。当exceptionCaught()方法响应ReadTimeoutException事件时,代码会使用超时异常调整响应,并尝试将响应写入通道。然而,该频道已关闭。ReadTimeoutHandler生成的ReadTimeoutException似乎已自动关闭通道。我假定客户端已检测到通道关闭。Javadoc没有描述这种行为。我希望能够写一个回复。我尝试在exceptionCaught()方法中重新连接通道,但失败了


如果您希望将响应发送回客户端,您有没有关于如何处理读取超时的建议或信息?

我发现触发ReadTimeoutException并不是导致通道关闭的原因。事实上,I/O线程通过“ChannelFuture=channel.write(response)”发送响应。future有一个ChannelFutureListener.CLOSE listener,它在完成时关闭频道。如果在发送响应之前,计时发生变化并且ReadTimeoutException触发,则caughtException()方法中的通道仍处于打开状态。我希望这一评论能为其他人澄清这一过程,这些人最初可能也会与ChannelPipeline和ChannelHandler混淆。