所以在 Netty 3.x 库中,ChannelHandlerContext 类有一个名为 setAttachment 的方法。不幸的是,它似乎不存在于新的 4.0 库中。我想知道是否有办法像在旧图书馆一样放置附件。
1 回答
在做了一些研究后,我发现了以下内容:
版本状态中接口org.jboss.netty.channel.ChannelHandlerContext的 javadocs3.2
存储有状态信息
setAttachment(Object)和getAttachment()允许您存储和访问与处理程序及其上下文相关的有状态信息。请参考ChannelHandler了解管理有状态信息的各种推荐方法。
io.netty.channel.ChannelHandlerContext版本中的 javadocs4.0
显然取代了 3.x 版的org.jboss.netty.channel.ChannelHandlerContext
声明如下Storing stateful information
存储有状态信息
AttributeMap.attr(AttributeKey)允许您存储和访问与处理程序及其上下文相关的状态信息。请参考ChannelHandler了解管理有状态信息的各种推荐方法。
似乎Attachments
3.x 版本现在在 4.0 版本中使用Attribute<T>(generics
而不是!)处理Object
因此,您需要查看AttributeMap.attr(AttributeKey)和说明的示例
// 这个处理程序将接收从 1 开始递增的整数序列。
ChannelHandlerContext
在两个版本的 javadocs 中都给出了。
我希望这将帮助您找到一种使用新 API 对您的需求进行编码的方法。