我已将它添加到我的管道中并且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)
谢谢!
答案 0 :(得分:3)
首先,确保您的管道有IdleStateHandler
,并且想要通过IdleStateEvent
通知的处理程序放在IdleStateHandler
之后。
ChannelStateHandler
和ChannelInboundHandler
有一个名为userEventTriggered()
的事件处理程序方法。您可以像下面这样实现该方法:
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
if (evt instanceof IdleStateEvent) {
...
}
}