类 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
Loader
tag in Tomcat'sContext
definition in theserver.xml
file, 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
ReflectiveLoadTimeWeaver
defined in the Spring application context. TheaddTransformer
andgetThrowawayClassLoader
methods 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
InstrumentableClassLoader
facility instead, as autodetected by Spring'sTomcatLoadTimeWeaver
.- 从以下版本开始:
- 2.0
- 作者:
- Costin Leau, Juergen Hoeller
- 另请参阅:
addTransformer(java.lang.instrument.ClassFileTransformer)
,getThrowawayClassLoader()
,ReflectiveLoadTimeWeaver
,TomcatLoadTimeWeaver
构造器概要
构造器 构造器 说明 TomcatInstrumentableClassLoader()
Create a newTomcatInstrumentableClassLoader
using the current context class loader.TomcatInstrumentableClassLoader(ClassLoader parent)
Create a newTomcatInstrumentableClassLoader
with the supplied class loader as parent.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
addTransformer(ClassFileTransformer transformer)
Delegate for LoadTimeWeaver'saddTransformer
method.protected org.apache.catalina.loader.ResourceEntry
findResourceInternal(String name, String path)
protected org.apache.catalina.loader.ResourceEntry
findResourceInternal(String name, String path, boolean manifestRequired)
ClassLoader
getThrowawayClassLoader()
Delegate for LoadTimeWeaver'sgetThrowawayClassLoader
method.String
toString()
从类继承的方法 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 newTomcatInstrumentableClassLoader
using the current context class loader.
TomcatInstrumentableClassLoader
public TomcatInstrumentableClassLoader(ClassLoader parent)
Create a newTomcatInstrumentableClassLoader
with the supplied class loader as parent.- 参数:
parent
- the parentClassLoader
to be used
方法详细资料
addTransformer
public void addTransformer(ClassFileTransformer transformer)
Delegate for LoadTimeWeaver'saddTransformer
method. Typically called through ReflectiveLoadTimeWeaver.
getThrowawayClassLoader
public ClassLoader getThrowawayClassLoader()
Delegate for LoadTimeWeaver'sgetThrowawayClassLoader
method. 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)