Java web applications are often complex, stateful programs that contain persistent objects, run background indexing processes, and maintain multiple tiers of caches. There are a lot of ways to deploy and configure them, and that means there are a lot of ways to make mistakes. But even when you have everything up and running, there’s always the lingering question of whether you could be getting more out of your instances (or reducing the number of them!).
Download this article to read about the use case for JMX and why operating metrics aren’t enough.