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.
If this was my problem I would start by using the methods in java.lang.ThreadGroup to enumerate the active Threads. If you did this in a servlet you would see the state of the response serving Threads. I once used this to track down a bug in which Threads were created but never run - they just hung around using memory. Bill