Mandy, Thanks, I got it to work using your suggestions.
Keimpe Bronkhorst Oracle JDeveloper On 11/4/2015 5:02 PM, Mandy Chung wrote:
On Nov 4, 2015, at 2:32 PM, Keimpe Bronkhorst <[email protected]> wrote: This concerns code we have in Oracle JDeveloper which collect thread dumps of all Java Processes on local host. This code uses the non-public JDK classes: import sun.jvmstat.monitor.MonitorException; import sun.jvmstat.monitor.MonitoredHost; import sun.jvmstat.monitor.MonitoredVm; import sun.jvmstat.monitor.MonitoredVmUtil; import sun.jvmstat.monitor.VmIdentifier; to identify the Java processes on local host, and import com.sun.tools.attach.VirtualMachine; import sun.tools.attach.HotSpotVirtualMachine; to attach to the processes and dump their threads. The trouble is that these classes are not accessible anymore in JDK9 unless -XaddExports: is used. Does anybody know how to do this functionality using public classes, or are there plans to add public classes to replace these non-public classes?com.sun.tools.attach is supported API that you should use to list the VM processes on a local host: http://download.java.net/jdk9/docs/jdk/api/attach/spec/index.html I guess you are calling HotSpotVirtualMachine.remoteDataDump method to get thread dump. Can you use java.lang.management.ThreadMXBean.dumpAllThreads once you start a local JMX agent in the attached VM? Mandy
