2

我已将它添加到我的管道中,并且 LoggingHandler 正在捕获它的事件,但是由于事件系统从 Netty 3 更改为 4,我该如何处理这些事件,因为 IdleStateAwareUpstreamHandler 不再存在?

LoggingHandler:2012 年 12 月 31 日下午 5:46:19 io.netty.handler.logging.LoggingHandler 信息:[id: 0xfef88037, /127.0.0.1:63531 => /127.0.0.1:7633] USER_EVENT: WRITER_IDLE(0, 30001ms )

谢谢!

4

1 回答 1

3

首先,确保你的管道有一个IdleStateHandler并且想要得到通知的处理程序IdleStateEvent放在IdleStateHandler.

ChannelStateHandlerChannelInboundHandler有一个名为userEventTriggered(). 您可以像下面这样实现该方法:

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
    if (evt instanceof IdleStateEvent) {
        ...
    }
}
于 2013-01-01T06:20:04.483 回答