line 410> di.annotationsCl = new URLClassLoader(urlArr, di.ucl);
Clebert Suconic wrote:
I can't tell where this is being created.. but I can tell where
is being
referenced.
the URLClassLoader is being referenced at DeploymentInfo.annotationsCL:
java.net.URLClassLoader@21471599
!--- FieldReference public transient java.net.URLClassLoader
org.jboss.deployment.DeploymentInfo.annotationsCl=org.jboss.deployment.DeploymentInfo@3720195
Detail
!--- FieldReference private java.lang.ClassLoader
java.security.ProtectionDomain.classloader=java.security.ProtectionDomain@28805459
Detail
!--- FieldReference private final transient java.lang.ClassLoader
java.lang.Package.loader=java.lang.Package@13417143
The other one (WebAppClassLoader) has a bunch of references on Tomcat
and Jasper compiler...
Sometimes those deployments are dulicated for some reason... When I get
the URLClassLoader duplicated, I have two distinct
DeploymentInfo.annotationsCLs referencing it. (ON jboss-4.0.5). on
JBoss 4-2 I haven't seen the same behavior when I tried (tried only once).
Clebert
Scott M Stark wrote:
> That should only be true if the context is enabled for that, and I did
> not think that was the default. Can you show the creation point of each
> class loader involved here?
>
> Adrian wrote:
>> I assume this is because Servlets can be individually reloaded?
>>
>> On Fri, 2007-08-03 at 17:11 -0500, Clebert Suconic wrote:
>>> This is probably a question for Remy:
>>>
>>> Why Tomcat creates multiple ClassLoaders for every deployment?
>>>
>>> Is this by design or this is a leak?
>>>
>>> For a single WAR, I'm seeing 4 classLoaders deployed just wasting
>>> PermGeneration memory.
>>>
>>> For example, I deployed a single WAR, and I've got this Servlet
>>> loaded by 4 distinct classLoaders. and this is a standard behavior I
>>> have seen on Tomcat for a long time already.
>>>
>>> org.jboss.on.plugins.servlet.test.Counter:
>>>
>>> - java.net.URLClassLoader@10891966
>>> - org.jboss.web.tomcat.tc5.WebAppClassLoader@18775238
>>> - java.net.URLClassLoader@22498184
>>> - org.jboss.web.tomcat.tc5.WebAppClassLoader@8238932
>>>
>>>
>>> Also... if you use any other profiler (besides the ClassLoader
>>> analysis I've written on JBossProfiler) you could be foolished by
>>> them as those classes won't have any instances... Just the classDef
>>> loaded on the heap.
>>>
>>>
>>>
>>> Clebert
>
> _______________________________________________
> jboss-development mailing list
> jboss-development(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/jboss-development
_______________________________________________
jboss-development mailing list
jboss-development(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-development