How do I create a thread dump via JMX?

ripper234 picture ripper234 · Oct 18, 2010 · Viewed 21.6k times · Source

I have a Tomcat running as a Windows Service, and those are known not to work well with jstack. jconsole is working well, on the other hand, and I can see stacks of individual threads (I'm connecting to "localhost:port" to access it).

How can I use jconsole or a similar tool to dump all the thread stacks into a file? (similar to jstack)

Answer

dogbane picture dogbane · Oct 18, 2010

You can use the ThreadMXBean management interface.

This FullThreadDump class demonstrates the capability to get a full thread dump and also detect deadlock remotely using JMX.