Save This Page
Home » spring-framework-2.5.6-with-dependencies » org.springframework » instrument » classloading » tomcat » [javadoc | source]
org.springframework.instrument.classloading.tomcat
public class: TomcatInstrumentableClassLoader [javadoc | source]
java.lang.Object
   org.apache.catalina.loader.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" 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.

Constructor:
 public TomcatInstrumentableClassLoader() 
 public TomcatInstrumentableClassLoader(ClassLoader parent) 
    Create a new TomcatInstrumentableClassLoader with the supplied class loader as parent.
Method from org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader Summary:
addTransformer,   findResourceInternal,   getThrowawayClassLoader,   toString
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader Detail:
 public  void addTransformer(ClassFileTransformer transformer) 
    Delegate for LoadTimeWeaver's addTransformer method. Typically called through ReflectiveLoadTimeWeaver.
 protected ResourceEntry findResourceInternal(String name,
    String path) 
 public ClassLoader getThrowawayClassLoader() 
    Delegate for LoadTimeWeaver's getThrowawayClassLoader method. Typically called through ReflectiveLoadTimeWeaver.
 public String toString()