75 return producerClass.getDeclaredMethod("addEvent", Class.class);
76 } catch (NoSuchMethodException | SecurityException e) {
77 // This should never happen
78 System.err.println("Failed to find the addEvent method of the producer.");
79 System.err.println("No BCI generated JFR events will be available.");
80 e.printStackTrace();
81 }
82 return null;
83 }
84
85 private static Object createProducerReflectively(String name, String description, URI producerURI) {
86 try {
87 Class<?> producerClass = Class.forName("com.oracle.jrockit.jfr.Producer");
88 Constructor<?> constructor = producerClass.getConstructor(String.class, String.class, String.class);
89 Object producer = constructor.newInstance(name, description, producerURI.toString());
90 Method registerMethod = producerClass.getDeclaredMethod("register");
91 registerMethod.invoke(producer);
92 return producer;
93 } catch (Exception e) {
94 System.err.println(
95 "Failed to create producer for JDK7/8 JVM. Ensure that the JVM was started with -XX:+UnlockCommercialFeatures and -XX:+FlightRecorder.");
96 System.err.println("No BCI generated JFR events will be available.");
97 e.printStackTrace();
98 }
99 return null;
100 }
101 }
|
75 return producerClass.getDeclaredMethod("addEvent", Class.class);
76 } catch (NoSuchMethodException | SecurityException e) {
77 // This should never happen
78 System.err.println("Failed to find the addEvent method of the producer.");
79 System.err.println("No BCI generated JFR events will be available.");
80 e.printStackTrace();
81 }
82 return null;
83 }
84
85 private static Object createProducerReflectively(String name, String description, URI producerURI) {
86 try {
87 Class<?> producerClass = Class.forName("com.oracle.jrockit.jfr.Producer");
88 Constructor<?> constructor = producerClass.getConstructor(String.class, String.class, String.class);
89 Object producer = constructor.newInstance(name, description, producerURI.toString());
90 Method registerMethod = producerClass.getDeclaredMethod("register");
91 registerMethod.invoke(producer);
92 return producer;
93 } catch (Exception e) {
94 System.err.println(
95 "Failed to create producer for Oracle JDK7/8 JVM. Ensure that the JVM was started with -XX:+UnlockCommercialFeatures and -XX:+FlightRecorder.");
96 System.err.println("No BCI generated JFR events will be available.");
97 e.printStackTrace();
98 }
99 return null;
100 }
101 }
|