public class InstrumentationLoadTimeWeaver extends Object implements LoadTimeWeaver
LoadTimeWeaver relying on VM Instrumentation.
 Start the JVM specifying the Java agent to be used — for example, as
 follows where spring-instrument-{version}.jar is a JAR file
 containing the InstrumentationSavingAgent class shipped with Spring
 and where {version} is the release version of the Spring
 Framework (e.g., 5.1.5.RELEASE).
 
-javaagent:path/to/spring-instrument-{version}.jar
 
In Eclipse, for example, add something similar to the following to the JVM arguments for the Eclipse "Run configuration":
-javaagent:${project_loc}/lib/spring-instrument-{version}.jar
InstrumentationSavingAgent| Constructor and Description | 
|---|
| InstrumentationLoadTimeWeaver()Create a new InstrumentationLoadTimeWeaver for the default ClassLoader. | 
| InstrumentationLoadTimeWeaver(ClassLoader classLoader)Create a new InstrumentationLoadTimeWeaver for the given ClassLoader. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addTransformer(ClassFileTransformer transformer)Add a  ClassFileTransformerto be applied by thisLoadTimeWeaver. | 
| ClassLoader | getInstrumentableClassLoader()We have the ability to weave the current class loader when starting the
 JVM in this way, so the instrumentable class loader will always be the
 current loader. | 
| ClassLoader | getThrowawayClassLoader()This implementation always returns a  SimpleThrowawayClassLoader. | 
| static boolean | isInstrumentationAvailable()Check whether an Instrumentation instance is available for the current VM. | 
| void | removeTransformers()Remove all registered transformers, in inverse order of registration. | 
public InstrumentationLoadTimeWeaver()
public InstrumentationLoadTimeWeaver(@Nullable
                                     ClassLoader classLoader)
classLoader - the ClassLoader that registered transformers are supposed to apply topublic void addTransformer(ClassFileTransformer transformer)
LoadTimeWeaverClassFileTransformer to be applied by this
 LoadTimeWeaver.addTransformer in interface LoadTimeWeavertransformer - the ClassFileTransformer to addpublic ClassLoader getInstrumentableClassLoader()
getInstrumentableClassLoader in interface LoadTimeWeaverClassLoader which will expose
 instrumented classes according to the registered transformerspublic ClassLoader getThrowawayClassLoader()
SimpleThrowawayClassLoader.getThrowawayClassLoader in interface LoadTimeWeaverClassLoader; should return
 a new instance for each call, with no existing statepublic void removeTransformers()
public static boolean isInstrumentationAvailable()
getInstrumentation()