Netty - 在频道之间共享附件

时间:2012-04-18 17:40:02

标签: java thread-safety netty

我希望通过附件在Netty中的大约20个频道之间共享一个对象。离..

SharedStatsObj sso ...
ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
ChannelHandlerContext c = future.getChannel().getPipeline().getContext("handler")
c.setAttachment(sso);

此对象将保留有关发送命令,已连接多长时间的统计信息,还将用于指示各个通道执行特定操作。有人对这个有经验么?除了在更新数据/访问数据时使用同步块之外,是否存在任何线程问题?任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果要在通道之间共享Object,则将其直接注入ChannelHandler或使用静态ChannelLocal实例。

确保您的对象是线程安全的!