How to monitor your local Java web application through JMX

Java Management Extensions (JMX) is a Java technology that supplies tools for monitoring applications. Monitoring a locally running Java web application is really straightforward.

You do not need any extra configuration to set up, you only need a tool called JConsole, and it’ll be able to see all your locally running JVMs and monitor them.

JConsole can be found in the bin directory inside your JDK’s installation directory. For me it is: C:\Program Files\Java\jdk1.8.0_91\bin 

Start jconsole.exe and you should see your local processes:

On this example screenshot, the first process is a Java web application which I started in a standalone tomcat. The second one is the process of JConsole itself.

Even you are running your application using the Maven tomcat plugin and not in a standalone tomcat, it’ll still work.

Select one of the processes and double click on it. You should see the management interface open up with a slew of useful statistics and information:

Troubleshooting

If you do not see any processes in the “Local Processes” list, please check out this post for a possible solution.