2012-04-18 58 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