Я запускаю приложение GWT+Hibernate на Glassfish 3.1. Через несколько часов у меня заканчивается место на Permgen. Это происходит без перезагрузки веб-приложения. Я работаю с -XX:MaxPermSize=256m -XmX1024m
.
Я последовал совету с этой страницы и обнаружил, что у меня утекают тонны классов - все мои модели Hibernate и все мои прокси GWT RequestFactory.
В руководстве, ссылка на которое приведена выше, говорится, что нужно "просмотреть цепочки, найти случайную ссылку и исправить код". Легче сказать, чем сделать.
Загрузчик классов всегда указывает на экземпляр org.glassfish.web.loader.WebappClassLoader
. Копая дальше, я нахожу множество ссылок от $Proxy135
и аналогичных по названию объектов. Но я не знаю, как дальше действовать.