This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Unlike heap space the perm-gen space (which holds class definitions, final vars, and interned Strings) doesn't get cleared out when you reload an application. So, every time you reload, you're adding a new set of class defs to the the perm-gen space.
Diagnosing a Tomcat that does not respond is tricky. The question you need to answer is this: "what are the threads doing, if they are not serving HTTP requests?" Here is some info to get you started with analysing thread dumps.
Thanks for the tips, I'll check these and see if I can find anything.
Joined: Apr 08, 2010
I did find something. When running jstack I had 40 HTTP threads that were all blocked on a synchronized method. However I could not find a race condition or similar that would explain it. I have rewritten the method to synchronize only the critical part of the code instead of the complete method, so I hope this helps.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: Tomcat hangs / locks up after container reload