たぷつきません

おなかがでてきた。もうたぷついてるやん。

リークの原因ようやく

 リークの原因はThreadLocalにノードやプロセッサの一部が参照されているから。サーブレットコンテナが持つスレッドプールからスレッドが解放されないうちは解放できないわけで、スレッドを使いまわすうちにどんどん参照が増えていってしまうということだった。これはそもそもリクエストのライフサイクル内で必要なだけなのでリクエストが終わる度にクリアするThreadLocalオブジェクトファクトリを作って対応しよう…と、昼の移動中に考えがまとまっていたのを忘れないようにメモメモ。
 これであれば被害を最小限に抑えるためだった、参照切りまくり対応コードは消せる予定。使用頻度に応じた解放管理はリロード回数軽減のために残すけど。でもこの使用頻度判断はもう少し細かくやろうと思う。時間帯によってアクセス数は変わるのでそれも加味したいなぁと。sunJVMは穏やかなときには解放通知は来にくいけど、JRockitだと全く負荷がなくても40秒間隔で解放通知が来たりも。GC方式はオプションでもいろいろ選択できるので、それによって左右されるのではないバランスの良い形になるようもう少し練りたい。どっちにしても破片オブジェクト回収は必要なのでThreadLocalファクトリは実装する予定。