From a JBoss Profiler analysis of this:
!--org.jboss.classloader.spi.base.BaseClassLoader@166889468(BaseClassLoader@9f287fc{vfszip:/home/bes/dev/jboss/clean/trunk/testsuite/output/lib/classloader-leak-ejb3.jar})
| !--!--ClassLoaderReference @ java.lang.Class@161343925(interface
org.jboss.test.classloader.leak.ejb3.Ejb3StatelessSession)
| !--!--!--ReferenceInterface@java.lang.Class(a)370564132(class $Proxy177)
| !--!--!--!--arrayRef [Ljava.lang.Object;[0] id=@1684924387
| !--!--!--!--!--FieldReference protected java.lang.Object[]
java.util.Vector.elementData=java.util.Vector@1804802967([class $Proxy177, class
$Proxy178])
| !--!--!--!--!--!--FieldReference private java.util.Vector
java.lang.ClassLoader.classes=org.jboss.classloader.spi.base.BaseClassLoader@1648466027(BaseClassLoader@6241986b{vfsfile:/home/bes/dev/jboss/clean/trunk/build/output/jboss-5.0.0.CR2/server/all/deploy/ejb3-connectors-jboss-beans.xml})
| !--!--!--!--!--!--!--FieldReference private java.lang.ClassLoader
org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule.classLoader=org.jboss.deployers.vfs.plugins.classloader.VFSDeploymentClassLoaderPolicyModule@116952494(VFSDeploymentClassLoaderPolicyModule
ejb3-connectors-jboss-beans.xml:0.0.0)
... carries on into the default classloading domain.
Looks like a proxy class loaded by the ejb3-connectors-jboss-beans.xml classloader is
holding a ref to the org.jboss.test.classloader.leak.ejb3.Ejb3StatelessSession loaded from
the ejb deployment. I think this is a manifestation of the problem in
SessionProxyFactoryBase discussed at
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=141165. I bet if you
limit the creation of an alternative proxy to cases where the caller classloader's
version of the business interface is distinct from the standard one, this leak will go
away.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4175721#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...