| java.lang.Object | ||
| ↳ | WebappClassLoader | |
| ↳ | org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader | |
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's Context
definition in the server.xml file, with the Spring-provided
"spring-tomcat-weaver.jar" file deployed into Tomcat's "server/lib" (for Tomcat 5.x) or "lib" (for Tomcat 6.x) 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. The addTransformer and
getThrowawayClassLoader methods mirror the corresponding methods
in the LoadTimeWeaver interface, as expected by ReflectiveLoadTimeWeaver.
See the PetClinic sample application for a full example of this ClassLoader in action.
NOTE: Requires Apache Tomcat version 5.0 or higher.
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Create a new
TomcatInstrumentableClassLoader using the
current context class loader. | |||||||||||
Create a new
TomcatInstrumentableClassLoader with the
supplied class loader as parent. | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Delegate for LoadTimeWeaver's
addTransformer method. | |||||||||||
Delegate for LoadTimeWeaver's
getThrowawayClassLoader method. | |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Create a new TomcatInstrumentableClassLoader using the
current context class loader.
Create a new TomcatInstrumentableClassLoader with the
supplied class loader as parent.
| parent | the parent ClassLoader to be used
|
|---|
Delegate for LoadTimeWeaver's addTransformer method.
Typically called through ReflectiveLoadTimeWeaver.
Delegate for LoadTimeWeaver's getThrowawayClassLoader method.
Typically called through ReflectiveLoadTimeWeaver.