--- 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) {