3

我有以下关于迁移的具体查询

a) 我目前正在使用与其他常规事件回调一起IdleStateAwareChannelUpstreamHandler处理事件。当它迁移到 4.0x 模型时,等效的方法应该是什么?channelIdleChannelUpstream

b) 4.0x中的等价EventExecutor物是什么?OrdredMemoryAwareThreadPoolExecutor

c) 在 3.2.6 中,我使用了来自 handler-callbacks 事件对象的 channelId 来唯一地跟踪客户端。例如,在channelConnected回调中,我曾经获取channelIdfrom evt.getChannel().getId()。由于事件在 4.0x 中更细粒度,获取 Netty 生成的唯一频道 ID 的最佳方法是什么?我检查了是否ChannelHandlerContext提供了获得相同的方法。但我找不到等价物

我指的是http://netty.io/4.0/api/上的 javadocs

提前致谢

4

1 回答 1

2

a) 参见 IdleStateHandler 的 javadocs。您需要在 userEventTriggered(..) 方法中拦截 IdleStateEvents。

b) 在将 ChannelHandler 添加到 ChannelPipeline 时指定 EventExecutor。不再- 它在核心。ExecutionHandler

c) 目前 Channel 上没有 id() 了。您现在可以使用 Channel.hashCode()。id() 很可能会在以后的版本中回来。

于 2013-09-17T07:54:33.740 回答