What often trips you up is some forgotten ThreadLocal (listing Spring
guys) that holds a reference to some forgotten object, which holds a
reference to its own Class and ClassLoader.

HiveMind and Tapestry 5 IoC have all that machinery to avoid using
ThreadLocals, since they are tricky to get right (especially in a
managed environment like a servlet).

On 2/14/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
Throwing the classloader away should do the trick. I've done this in
the past with other things.

On 2/14/07, James Carman <[EMAIL PROTECTED]> wrote:
> Maybe someone should run it through a memory profiler to be sure.
> But, sounds pretty good.  I think we need to make sure that tapestry's
> class pool doesn't maintain a hard reference to its generated classes.
>  But, if the classloader is thrown away, that might just do it.
>
> On 2/14/07, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
> > The "PermGen" problem is elusive, but I think it will be less common
> > in T5. It was caused by the shear volume of classes generated (every
> > component gets a subclass) multiplied by a full reload on every
> > request.
> >
> > T5 is stingier; it only enhances classes once, until some component
> > class changes. Then it throws away all the page instances and the
> > class loader used to enhance them.
> >
> > Now, I can't be certain this fully clears up PermGen, since there's
> > always the question about whether the ClassLoader and all of its
> > classes is being properly relcaimed by the GC (I believe Tapestry is
> > doing its part), but at the very least, we're on the right track.
> >
> > On 2/14/07, James Carman <[EMAIL PROTECTED]> wrote:
> > > Howard,
> > >
> > > Is the permgen space problem solved in T5?
> > >
> > > James
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > --
> > Howard M. Lewis Ship
> > TWD Consulting, Inc.
> > Independent J2EE / Open-Source Java Consultant
> > Creator and PMC Chair, Apache Tapestry
> > Creator, Apache HiveMind
> >
> > Professional Tapestry training, mentoring, support
> > and project work.  http://howardlewisship.com
> >
> > ---------------------------------------------------------------------
> > 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]
>
>


--
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to