So che questo problema è in circolazione da almeno 3 anni (Issue 92), ma non sono ancora soddisfatto dello stato corrente. Sono anche consapevole del fatto che ciò non influisce su Tomcat se si riavvia dopo la ridistribuzione (come suggerito in Guice + Tomcat potential memory leak).Guice 3.0 + Tomcat 7.0 = Perdita di memoria ClassLoader
Il mio problema è che si verificano errori OutOfMemoryError: PermGen
dopo alcune ridistribuzioni. Si noti che non sto utilizzando google-collections in modo esplicito, sto solo usando Guice 3.0 (via Maven). Dopo aver analizzato i dump dell'heap, vedo ancora che il thread com.google.inject.internal.Finalizer
è ancora attivo, mantiene un riferimento a WebappClassLoader di Tomcat, impedendo così la raccolta dei dati inutili.
Cosa succede se Irichiede effettivamente le ridistribuzioni senza riavviare e sto utilizzando Guice? Quali sono le mie opzioni?
Ecco la segnalazione di bug relativa a questo problema: http://code.google.com/p/google-guice/issues/detail?id=288 – Gili