2

パイプラインに追加し、LoggingHandler がそのイベントをキャッチしていますが、イベント システムが Netty 3 から 4 に変更されたため、IdleStateAwareUpstreamHandler が存在しないことを確認してこれらのイベントを処理するにはどうすればよいですか?

LoggingHandler: 2012 年 12 月 31 日 5:46:19 PM 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 に答える