Top Description Fields Constructors Methods
org.springframework.instrument.classloading.tomcat

public Class TomcatLoadTimeWeaver

extends Object
implements LoadTimeWeaver
Class Inheritance
All Implemented Interfaces
org.springframework.instrument.classloading.LoadTimeWeaver
Imports
java.lang.instrument.ClassFileTransformer, java.lang.reflect.InvocationTargetException, .Method, org.springframework.core.OverridingClassLoader, org.springframework.instrument.classloading.LoadTimeWeaver, org.springframework.lang.Nullable, org.springframework.util.Assert, .ClassUtils

org.springframework.instrument.classloading.LoadTimeWeaver implementation for Tomcat's new org.apache.tomcat.InstrumentableClassLoader. Also capable of handling Spring's TomcatInstrumentableClassLoader when encountered.
Author
Juergen Hoeller
Since
4.0

Field Summary

Modifier and TypeField and Description
private final Method
private final ClassLoader
private final Method
private static final String

Constructor Summary

AccessConstructor and Description
public
TomcatLoadTimeWeaver()

Create a new instance of the TomcatLoadTimeWeaver class using the default class loader.

public
TomcatLoadTimeWeaver(ClassLoader
the ClassLoader to delegate to for weaving
classLoader
)

Create a new instance of the TomcatLoadTimeWeaver class using the supplied ClassLoader.

Method Summary

Modifier and TypeMethod and Description
public void
addTransformer(ClassFileTransformer
the ClassFileTransformer to add
transformer
)

Implements org.springframework.instrument.classloading.LoadTimeWeaver.addTransformer.

Add a ClassFileTransformer to be applied by this LoadTimeWeaver.
public ClassLoader
getInstrumentableClassLoader()

Implements org.springframework.instrument.classloading.LoadTimeWeaver.getInstrumentableClassLoader.

Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.
public ClassLoader
getThrowawayClassLoader()

Implements org.springframework.instrument.classloading.LoadTimeWeaver.getThrowawayClassLoader.

Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

addTransformerMethodback to summary
private final Method addTransformerMethod
classLoaderback to summary
private final ClassLoader classLoader
copyMethodback to summary
private final Method copyMethod
INSTRUMENTABLE_LOADER_CLASS_NAMEback to summary
private static final String INSTRUMENTABLE_LOADER_CLASS_NAME

Constructor Detail

TomcatLoadTimeWeaverback to summary
public TomcatLoadTimeWeaver()

Create a new instance of the TomcatLoadTimeWeaver class using the default class loader.

See Also
org.springframework.util.ClassUtils#getDefaultClassLoader()
TomcatLoadTimeWeaverback to summary
public TomcatLoadTimeWeaver(ClassLoader classLoader)

Create a new instance of the TomcatLoadTimeWeaver class using the supplied ClassLoader.

Parameters
classLoader:ClassLoader

the ClassLoader to delegate to for weaving

Method Detail

addTransformerback to summary
public void addTransformer(ClassFileTransformer transformer)

Implements org.springframework.instrument.classloading.LoadTimeWeaver.addTransformer.

Doc from org.springframework.instrument.classloading.LoadTimeWeaver.addTransformer.

Add a ClassFileTransformer to be applied by this LoadTimeWeaver.

Parameters
transformer:ClassFileTransformer

the ClassFileTransformer to add

Annotations
@Override
getInstrumentableClassLoaderback to summary
public ClassLoader getInstrumentableClassLoader()

Implements org.springframework.instrument.classloading.LoadTimeWeaver.getInstrumentableClassLoader.

Doc from org.springframework.instrument.classloading.LoadTimeWeaver.getInstrumentableClassLoader.

Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.

May be the current ClassLoader, or a ClassLoader created by this LoadTimeWeaver instance.

Returns:ClassLoader

the ClassLoader which will expose instrumented classes according to the registered transformers

Annotations
@Override
getThrowawayClassLoaderback to summary
public ClassLoader getThrowawayClassLoader()

Implements org.springframework.instrument.classloading.LoadTimeWeaver.getThrowawayClassLoader.

Doc from org.springframework.instrument.classloading.LoadTimeWeaver.getThrowawayClassLoader.

Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.

Should not return the same instance of the ClassLoader returned from an invocation of getInstrumentableClassLoader().

Returns:ClassLoader

a temporary throwaway ClassLoader; should return a new instance for each call, with no existing state

Annotations
@Override