|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.instrument.classloading.jboss.JBossLoadTimeWeaver
public class JBossLoadTimeWeaver
LoadTimeWeaver
implementation for JBoss's instrumentable ClassLoader.
Autodetects the specific JBoss version at runtime: currently supports
JBoss AS 5, 6 and 7 (as of Spring 3.1).
NOTE: On JBoss 6.0, to avoid the container loading the classes before the application actually starts, one needs to add a WEB-INF/jboss-scanning.xml file to the application archive - with the following content:
<scanning xmlns="urn:jboss:scanning:1.0"/>
Thanks to Ales Justin and Marius Bogoevici for the initial prototype.
Constructor Summary | |
---|---|
JBossLoadTimeWeaver()
Create a new instance of the JBossLoadTimeWeaver class using
the default class loader . |
|
JBossLoadTimeWeaver(ClassLoader classLoader)
Create a new instance of the JBossLoadTimeWeaver class using
the supplied ClassLoader . |
Method Summary | |
---|---|
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 . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JBossLoadTimeWeaver()
JBossLoadTimeWeaver
class using
the default class loader
.
ClassUtils.getDefaultClassLoader()
public JBossLoadTimeWeaver(ClassLoader classLoader)
JBossLoadTimeWeaver
class using
the supplied ClassLoader
.
classLoader
- the ClassLoader
to delegate to for weaving
(must not be null
)Method Detail |
---|
public void addTransformer(ClassFileTransformer transformer)
LoadTimeWeaver
ClassFileTransformer
to be applied by this
LoadTimeWeaver
.
addTransformer
in interface LoadTimeWeaver
transformer
- the ClassFileTransformer
to addpublic ClassLoader getInstrumentableClassLoader()
LoadTimeWeaver
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.
getInstrumentableClassLoader
in interface LoadTimeWeaver
ClassLoader
which will expose
instrumented classes according to the registered transformerspublic ClassLoader getThrowawayClassLoader()
LoadTimeWeaver
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 LoadTimeWeaver.getInstrumentableClassLoader()
.
getThrowawayClassLoader
in interface LoadTimeWeaver
ClassLoader
; should return
a new instance for each call, with no existing state
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |