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]