After installing Eclipse and the Eclipse Memory Analyzer on a different machine I was able to profile the application and find out what was causing the problem. It turns out that JADE gets upset when you don’t retrieve inter-agent messages from the queue. Ignore them long enough, and it will build into a serious memory problem.
Now that I’ve solved that problem, I can get back to analyzing my services and learning how to match their parameters based on the inherent semantics of the interface structure. But one of these days I will need to tear apart my primary development machine and rebuild it with a clean Eclipse install.
It feels good to finally have this behind me. Now I can get back to the real work I’m supposed to be engaged in.