Extension of Tomcat's default class loader which adds instrumentation
to loaded classes without the need of using 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" directory.
The required configuration tag looks as follows:
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
Typically used in combination with a
org.springframework.instrument.classloading.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.
author: Costin Leau since: 2.0 See Also: TomcatInstrumentableClassLoader.addTransformer See Also: TomcatInstrumentableClassLoader.getThrowawayClassLoader See Also: org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver |