Isn't the major source of the OP's memory use though the 600+ new
instances of javassist.CtNewClass in the classes hashmap per page load? Are
you thinking that a simple page with two property selects on it ought to
require 600+ support classes to back it, because that sounds about two
orders of magnitude too high to me.
Are you sure there's not some sort of underlying bug in javassist
and/or Howards implementation thereof?
--- Pat
> -----Original Message-----
> From: Hensley, Richard [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 06, 2005 10:24 AM
> To: Tapestry users
> Subject: RE: OutOfMemoryError Tapestry 4.0
>
> Generated Classes are loaded into a class loader so they can be
> instantiated
> by Tapestry and Hivemind. The only way to release the generated classes is
> to release the class loader.
>
> I tried once to evict classes from a ClassLoader while I was doing some
> Groovy stuff, according to the ClassLoader specification, it's not
> possible
> to evict a class. After you think about it for a while, you come to the
> conclusion that this is a good thing.
>
> I think that Hivemind and Tapestry load the generated classes into the
> same
> class loader that owns the parent class of the generated class. This class
> loader can not be released because it is owned by the application
> container.
> So, the real question is why are some many classes being generated. The
> flag
> noted by Howard below causes a class to be generated each time a page with
> abstract properties is visited. When running in production, my experience
> is
> that the classes only get generated the first time they are needed.
>
> So, the next avenue of investigation is to figure out what the actual
> generated classes are that were being reported as part of CtClass by the
> memory leak tool.
>
> Richard
>
> -----Original Message-----
> From: Leonardo Quijano Vincenzi [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 06, 2005 10:10 AM
> To: Tapestry users
> Subject: Re: OutOfMemoryError Tapestry 4.0
>
> Howard Lewis Ship escribió:
>
> >That might be reasonable if you are running with
> >-Dorg.apache.tapestry.disable-caching=true
> >
> >With caching disabled, Tapestry has to constantly create new enhanced
> >subclasses for every page and every component.
> >
> >
> Shouldn't it delete old classes?
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]