jdk/test/java/lang/instrument/NMTHelper.java
changeset 30355 e37c7eba132f
parent 26193 09edb0e9f15a
child 40684 2e37c119dc2a
--- a/jdk/test/java/lang/instrument/NMTHelper.java	Wed Apr 15 13:27:39 2015 +0200
+++ b/jdk/test/java/lang/instrument/NMTHelper.java	Fri Apr 17 09:40:02 2015 +0200
@@ -27,8 +27,9 @@
 import java.util.regex.Pattern;
 import java.util.Arrays;
 import java.util.stream.Collectors;
-import sun.management.ManagementFactoryHelper;
-import com.sun.management.DiagnosticCommandMBean;
+import java.lang.management.ManagementFactory;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
 
 public class NMTHelper
 {
@@ -53,7 +54,12 @@
     }
 
     private static String executeDcmd(String cmd, String ... args) {
-        DiagnosticCommandMBean dcmd = ManagementFactoryHelper.getDiagnosticCommandMBean();
+        ObjectName oname = null;
+        try {
+            oname = ObjectName.getInstance("com.sun.management:type=DiagnosticCommand");
+        } catch (MalformedObjectNameException mone) {
+            throw new RuntimeException(mone);
+        }
         Object[] dcmdArgs = {args};
         String[] signature = {String[].class.getName()};
 
@@ -63,7 +69,8 @@
         System.out.println("Output from Dcmd '" + cmdString + "' is being written to file " + f);
         try (FileWriter fw = new FileWriter(f)) {
             fw.write("> " + cmdString + ":");
-            String result = (String) dcmd.invoke(cmd, dcmdArgs, signature);
+            String result = (String)ManagementFactory.getPlatformMBeanServer().
+                    invoke(oname, cmd, dcmdArgs, signature);
             fw.write(result);
             return result;
         } catch(Exception ex) {