类 TomcatInstrumentableClassLoader
- java.lang.Object
- java.lang.ClassLoader
- org.apache.catalina.loader.WebappClassLoader
- org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader
public class TomcatInstrumentableClassLoader extends WebappClassLoader
Extension of Tomcat's default class loader which adds instrumentation to loaded classes without the need to use a VM-wide agent.To be registered using a
Loadertag in Tomcat'sContextdefinition in theserver.xmlfile, with the Spring-provided "spring-instrument-tomcat.jar" file deployed into Tomcat's "lib" directory. The required configuration tag looks as follows:<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
Typically used in combination with a
ReflectiveLoadTimeWeaverdefined in the Spring application context. TheaddTransformerandgetThrowawayClassLoadermethods mirror the corresponding methods in the LoadTimeWeaver interface, as expected by ReflectiveLoadTimeWeaver.NOTE: Requires Apache Tomcat version 6.0 or higher, as of Spring 4.0. This class is not intended to work on Tomcat 8.0+; please rely on Tomcat's own
InstrumentableClassLoaderfacility instead, as autodetected by Spring'sTomcatLoadTimeWeaver.- 从以下版本开始:
- 2.0
- 作者:
- Costin Leau, Juergen Hoeller
- 另请参阅:
addTransformer(java.lang.instrument.ClassFileTransformer),getThrowawayClassLoader(),ReflectiveLoadTimeWeaver,TomcatLoadTimeWeaver
构造器概要
构造器 构造器 说明 TomcatInstrumentableClassLoader()Create a newTomcatInstrumentableClassLoaderusing the current context class loader.TomcatInstrumentableClassLoader(ClassLoader parent)Create a newTomcatInstrumentableClassLoaderwith the supplied class loader as parent.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidaddTransformer(ClassFileTransformer transformer)Delegate for LoadTimeWeaver'saddTransformermethod.protected org.apache.catalina.loader.ResourceEntryfindResourceInternal(String name, String path)protected org.apache.catalina.loader.ResourceEntryfindResourceInternal(String name, String path, boolean manifestRequired)ClassLoadergetThrowawayClassLoader()Delegate for LoadTimeWeaver'sgetThrowawayClassLoadermethod.StringtoString()从类继承的方法 java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
构造器详细资料
TomcatInstrumentableClassLoader
public TomcatInstrumentableClassLoader()
Create a newTomcatInstrumentableClassLoaderusing the current context class loader.
TomcatInstrumentableClassLoader
public TomcatInstrumentableClassLoader(ClassLoader parent)
Create a newTomcatInstrumentableClassLoaderwith the supplied class loader as parent.- 参数:
parent- the parentClassLoaderto be used
方法详细资料
addTransformer
public void addTransformer(ClassFileTransformer transformer)
Delegate for LoadTimeWeaver'saddTransformermethod. Typically called through ReflectiveLoadTimeWeaver.
getThrowawayClassLoader
public ClassLoader getThrowawayClassLoader()
Delegate for LoadTimeWeaver'sgetThrowawayClassLoadermethod. Typically called through ReflectiveLoadTimeWeaver.
findResourceInternal
protected org.apache.catalina.loader.ResourceEntry findResourceInternal(String name, String path)
findResourceInternal
protected org.apache.catalina.loader.ResourceEntry findResourceInternal(String name, String path, boolean manifestRequired)