diff -r 86952e676976 -r 9c2079cba606 jdk/src/java.instrument/share/classes/java/lang/instrument/package.html --- a/jdk/src/java.instrument/share/classes/java/lang/instrument/package.html Fri Sep 02 12:30:46 2016 -0400 +++ b/jdk/src/java.instrument/share/classes/java/lang/instrument/package.html Mon Sep 12 15:00:58 2016 -0700 @@ -105,6 +105,10 @@ The agent class will be loaded by the system class loader (see {@link java.lang.ClassLoader#getSystemClassLoader ClassLoader.getSystemClassLoader}). This is the class loader which typically loads the class containing the application main method. +The system class loader must support a mechanism to add an agent JAR file to the system class path. +If it is a custom system class loader then it must define the +appendToClassPathForInstrumentation method as specified in +{@link Instrumentation#appendToSystemClassLoaderSearch appendToSystemClassLoaderSearch}. The premain methods will be run under the same security and classloader rules as the application main method. There are no modeling restrictions on what the agent premain method may do. @@ -140,7 +144,10 @@
  • The system class loader ( {@link java.lang.ClassLoader#getSystemClassLoader ClassLoader.getSystemClassLoader}) must - support a mechanism to add an agent JAR file to the system class path.

  • + support a mechanism to add an agent JAR file to the system class path. + If it is a custom system class loader then it must define the + appendToClassPathForInstrumentation method as specified in + {@link Instrumentation#appendToSystemClassLoaderSearch appendToSystemClassLoaderSearch}.