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