我正在将 Netty 3 应用程序移植到 Netty 4。Netty 3 应用程序用于Attachement
将对象附加到上下文。
在 4.0 中阅读新的和值得注意的我看到附件已被删除并替换为 AttributeKey/AttributeMap。
问题是这在我运行应用程序时有效,但在集成测试中,我收到错误:
Caused by: java.lang.IllegalArgumentException: 'attr_key' is already in use
在attr_key
可共享处理程序中定义的位置如下:
private final AttributeKey<Object> ATTR_KEY = AttributeKey.newInstance("attr_key");
然后在同一个处理程序类的其他地方使用如下:
channel.attr(ATTR_KEY).set(new Object())
关于使用 AttributeKey/AttributeMap 以防止此错误的推荐方法的任何想法或想法?谢谢!