Я знаю, что эта проблема существует не менее 3-х лет (Issue 92), но меня все еще не удовлетворяет текущее состояние. Я также знаю, что это не влияет на Tomcat, если вы перезагружаетесь после перераспределения (как указано в Guice + Tomcat potential memory leak).Guice 3.0 + Tomcat 7.0 = утечка памяти ClassLoader
Моя проблема в том, что я испытываю ошибки OutOfMemoryError: PermGen
после некоторых перераспределений. Обратите внимание, что я не использую сборники google явно, я использую только Guice 3.0 (через maven). После анализа дампов кучи, я все еще вижу, что поток com.google.inject.internal.Finalizer
по-прежнему активен, содержит ссылку на Tomcat WebappClassLoader, что препятствует сбору мусора.
Что делать, если я действительно требует перераспределения без перезапуска и использую Guice? Какие у меня варианты?
Вот отчет об ошибке по этой проблеме: http://code.google.com/p/google-guice/issues/detail?id=288 – Gili