2012-03-20 13 views
5

Tomcat è famosa per la perdita classloader che si verifica su ripetute ridistribuzioni di un app. Sembrano di solito centrati attorno alla classe dei taglialegna. Le ripetute ridistribuzioni finiscono per causare errori di Perm Gen.Tomcat 7 migliora la situazione di perdita di Classloader da Tomcat 6?

So che questo tende a essere un grosso problema in Tomcat 6. È meglio in Tomcat 7?

In una nota a margine, qualcuno ha delle buone risorse per gestire le perdite del classloader. La situazione è migliore con altri server?

+1

rimbalzare il server quando la distribuzione del app? – sourcedelica

+0

@ericacm Questa è la cosa standard da fare! Tuttavia, sto cercando di evitarlo. Soprattutto se il server ha più app su di esso. – Joe

risposta

5

Beh, questo non è in realtà causata da Tomcat, ma piuttosto dalle applicazioni che utilizzano ThreadLocal s, in mancanza di annullare la registrazione driver JDBC o arresto discussioni personalizzati, ecc Tomcat 6 ha introdotto un meccanismo di rilevamento perdita di memoria, Tomcat 7 ha migliorato in modo significativo: MemoryLeakProtection .

Per quanto riguarda i logger che perdono, date un'occhiata a Taxonomy of class loader problems encountered when using Jakarta Commons Logging molto completo.