2011-12-09 12 views
3

JavaDocs for Nettyは、ThreadLocalに似ていると説明していますが、使用方法についていくつか質問があります。 ThreadLocalは、インスタンス固有のオブジェクトにアクセスする静的メソッドを持つ静的クラスです。 ChannelLocalは静的ではなく、静的な内部マップを持つか、静的メソッドを持ちます。このドキュメンテーションには、ChannelLocalにアクセスしたり、オブジェクトをChannelLocalに配置したりする例は含まれていないので、誰かが私にその使用法に関するいくつかの洞察を与えることができればと願っていました。NettyのChannelLocalの使用

ありがとうございます!

答えて

4
+0

興味深い:

// Declare public static final ChannelLocal<Integer> data = new ChannelLocal<Integer>(); // Set data.set(e.getChannel(), 1); // Get int a = data.get(e.getChannel()); 

ここで実際の生活の例のカップルです。さて、使用例のおかげで、私はここからどこに行くのか知っています! –

+0

ChannelLocalのための内部のマップは静的ではありませんなぜ私は好奇心が強い: ' 民間最終のConcurrentMap マップ= 新しいConcurrentIdentityWeakKeyHashMap (); ' 2つの別々のクラスでChannelLocalを使用する場合は、それらのクラス間でChannelLocalオブジェクトを再登録する必要があります。内部静的マップを持つ方が意味があります。そのため、あるクラスのChannelLocalに何かを配置すると、ChannelLocalを渡すことなく別のクラスから同じオブジェクトを取得できます。 –

+0

自分ではわかりません。デベロッパーのフォーラムhttp://groups.google.com/group/nettyにお尋ねしてください。私は、最新のnettyマスター(今後リリースされるnetty 4.0リリース)では、ChannelLocalを減価償却し、チャンネルにgetAttachment/setAttachmentを提供することについて議論しています。 https://github.com/netty/netty/issues/101 – Veebs

関連する問題