Netty的JavaDocs解释ChannelLocal与ThreadLocal相似,但是我对它的用法有一些疑问。 ThreadLocal是带有访问实例特定对象的静态方法的静态类。 ChannelLocal不是静态的,具有静态的内部映射或静态的方法。该文档没有提供访问ChannelLocal或将对象放入ChannelLocal的示例,因此我希望有人可以让我对它的用法有所了解。
谢谢!
最佳答案
ChannelLocal用于将某些数据分配给Channel。
这是一个例子:
// Declare
public static final ChannelLocal<Integer> data = new ChannelLocal<Integer>();
// Set
data.set(e.getChannel(), 1);
// Get
int a = data.get(e.getChannel());
这是几个真实的例子:
http://www.assembla.com/code/argonms/subversion/nodes/trunk/src/argonms/center/recv/RemoteServerListener.java?rev=44
http://eucalyptus.sourcearchive.com/documentation/1.6.2/ServiceSinkHandler_8java-source.html