org.jboss.web.WebClassLoader is the ejb rmi dynamic class loader created
to allow clients to download classes from the ejb deployment.
Brian Stansberry wrote:
Before I tear my hair out all day, if any classloading gurus have
any
theory on why the ClassloaderLeakUnitTestCase started failing, please
advise. Some info:
1) Started failing when I moved the test from the 'all' tests so it ran
by itself against a clean AS. Commit logs show nothing else relevant.
2) The test that fails involves a simple call to an SLSB over the
UnifiedInvoker. Deployment is a simple ejb jar. The EJB's classloader
doesn't get cleaned up upon undeploy.
3) JBoss Profiler analysis of the leak shows that the CL is leaking to a
Thread as the TCCL:
!--org.jboss.mx.loading.UnifiedClassLoader3@62812d{ url=null
,addedOrder=47}
!--!--FieldReference private java.lang.ClassLoader
java.lang.ClassLoader.parent=org.jboss.web.WebClassLoader@ed5ba6
!--!--!--FieldReference private java.lang.ClassLoader
java.lang.ClassLoader.parent=org.jboss.util.loading.DelegatingClassLoader@2589c3
!--!--!--!--FieldReference private java.lang.ClassLoader
java.lang.Thread.contextClassLoader=Thread[Thread-31,5,jboss]
Some questions I have are:
Why is org.jboss.web.WebClassLoader involved here? This deployment
doesn't include a webapp. (An earlier test in the class that passes did
involve a webapp).
Is there something about running with a clean server that would change
the relationships between the classloaders?
- Brian
jboss-qa-internal(a)redhat.com wrote: