2012-04-18 21 views
0

我期待通过附件在Netty中分享大约20个频道之间的对象。恩..Netty - 在频道间共享附件

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

这个对象将保持类似的命令统计被发送,我们有多久了连接,并且也将用于通知各个通道瓶坯的具体行动。有人对这个有经验么?除了在更新数据/访问数据时使用同步块之外,是否还有其他线程问题?任何建议将不胜感激!

回答

1

如果您想要在通道之间共享对象,那么直接将其注入ChannelHandler或使用静态ChannelLocal实例。

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

+0

任何原因,特别是你不会直接附加到频道?我已经在ChannelLocal实例中取得了一个高峰,但附件似乎更快更轻松。 – 2012-04-18 20:24:48