namespace属性を指定できます。
http://s2container.seasar.org/2.4/ja/reference/html/config-dicon.html#d0e1484
名前空間を指定できるわけですが、これを指定すると
メモリ使用量(heapsize)がけっこう増えます
(もちろん登録コンポーネント数にもよりますが)。
heapdumpして確認するとS2ContainerのHashMapの
容量がだいぶ変わることがわかりました。
S2Container内で管理しているコンポーネント名が
長くなると思うので単純に増えそうではありますが。。
今回はAutoRegisterで大量にコンポーネントを登録し、
namespaceを全てのdiconにつけていました。
必要のないnamespace指定を取り除いたところ、
以下のような結果となりました。
namespaceをつける S2ContainerのHashMap 約1GB namespaceをつけない(※1) S2ContainerのHashMap 約400MB
(※1)もともとseasar2のjarに含まれているdiconを拡張したものは
namespaces指定そのまま。
データソースの切替等でJDBC関連の必要な部分はnamespaceを指定。
使用しているS2のversionはseasar2.4.25で、だいたい2.4系はSmartDeployを
使用すると思うのであまり注意は必要ないかもしれませんが、
とりあえずnamespaceを無駄に指定するのはよくなさそうですね。
0 件のコメント:
コメントを投稿