public class

OC4JLoadTimeWeaver

extends Object
implements LoadTimeWeaver
java.lang.Object
   ↳ org.springframework.instrument.classloading.oc4j.OC4JLoadTimeWeaver

Class Overview

LoadTimeWeaver implementation for OC4J's instrumentable ClassLoader.

NOTE: Requires Oracle OC4J version 10.1.3.1 or higher.

Many thanks to Mike Keith for his assistance.

Summary

Public Constructors
OC4JLoadTimeWeaver()
Creates a new instance of thie OC4JLoadTimeWeaver class using the default class loader.
OC4JLoadTimeWeaver(ClassLoader classLoader)
Creates a new instance of the OC4JLoadTimeWeaver class using the supplied ClassLoader.
Public Methods
void addTransformer(ClassFileTransformer transformer)
Add a ClassFileTransformer to be applied by this LoadTimeWeaver.
ClassLoader getInstrumentableClassLoader()
Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.
ClassLoader getThrowawayClassLoader()
Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.instrument.classloading.LoadTimeWeaver

Public Constructors

public OC4JLoadTimeWeaver ()

Creates a new instance of thie OC4JLoadTimeWeaver class using the default class loader.

public OC4JLoadTimeWeaver (ClassLoader classLoader)

Creates a new instance of the OC4JLoadTimeWeaver class using the supplied ClassLoader.

Parameters
classLoader the ClassLoader to delegate to for weaving

Public Methods

public void addTransformer (ClassFileTransformer transformer)

Add a ClassFileTransformer to be applied by this LoadTimeWeaver.

Parameters
transformer the ClassFileTransformer to add

public ClassLoader getInstrumentableClassLoader ()

Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.

May be the current ClassLoader, or a ClassLoader created by this LoadTimeWeaver instance.

Returns
  • the ClassLoader which will expose instrumented classes according to the registered transformers

public ClassLoader getThrowawayClassLoader ()

Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.

Should not return the same instance of the ClassLoader returned from an invocation of getInstrumentableClassLoader().

Returns
  • a temporary throwaway ClassLoader; should return a new instance for each call, with no existing state