-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chuck,

Caldarale, Charles R wrote:
>> Subject: Re: Memory leaks on webapp redeploy
>>
>> The only thing I can think of is perhaps Java is keeping introspection
>> information around and never releasing it.
> 
> Quite possible.  There's a good discussion of the issue here:
> http://opensource.atlassian.com/confluence/spring/pages/viewpage.action?
> pageId=2669

Yup; that's where I read about the Introspector.flushCaches trick. I use
Velocity, not JSP, and I just checked the source code for their
introspection code, and it does not appear to use the built-in Java
Introspector, so that's unlikely to be the problem. Velocity is the only
place that we use any introspection at all, so I'll be interested to see
the results of profiling.... especially which objects are holding on to
references to old Class objects.

Maybe this issue has been fixed in recent VMs (IIRC, older VMs -- maybe
1.3-era -- would never discard java.lang.Class objects. Java 1.5 has the
"-Xnoclassgc" option, which might exist to replicate this "feature" for
apps which relied on Class objects living forever.

For instance, if you had a singleton with a static instance of the
class, but no references to the Class object, no instances other than
the singleton (a reasonable assumption for a singleton), and no outside
references to the singleton object, then the VM is within it's rights to
discard both the instance and the Class since they are "unused". I seem
to recall this being a problem for folks who thought that singletons
were a good idea, and so the Java folks decided to keep Class objects
around forever.

Perhaps that changed. Anyone know about the history of this phenomenon?
Or am I just crazy and making the whole thing up? ;)

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFbGTL9CaO5/Lv0PARAt2yAKCDRa6Mx0ojhSdyHfYmZkKLoVL6hACgikgU
USkA4X4E2DIy9vk/Qwxs5d0=
=/sNx
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to