< prev index next >

core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/jfr/impl/JFRUtils.java

Print this page




  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 }
< prev index next >