|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springsource.loaded.agent.JVMPlugin
public class JVMPlugin
Reloading plugin for 'poking' JVM classes that are known to cache reflective state. Some of the behaviour is switched ON based on which classes are loaded. For example the Introspector clearing logic is only activated if the Introspector gets loaded.
| Constructor Summary | |
|---|---|
JVMPlugin()
|
|
| Method Summary | |
|---|---|
boolean |
accept(java.lang.String slashedTypeName,
java.lang.ClassLoader classLoader,
java.security.ProtectionDomain protectionDomain,
byte[] bytes)
Called by the agent to determine if this plugin is interested in changing the specified type at load time. |
byte[] |
modify(java.lang.String slashedClassName,
java.lang.ClassLoader classLoader,
byte[] bytes)
Once accept has returned true for a type, the modify method will be called to make the actual change to the classfile bytes. |
void |
reloadEvent(java.lang.String typename,
java.lang.Class<?> clazz,
java.lang.String encodedTimestamp)
Called when a type has been reloaded. |
boolean |
shouldRerunStaticInitializer(java.lang.String typename,
java.lang.Class<?> clazz,
java.lang.String encodedTimestamp)
Called when a type has been reloaded, allows the plugin to decide if the static initializer should be re-run for the reloaded type. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JVMPlugin()
| Method Detail |
|---|
public void reloadEvent(java.lang.String typename,
java.lang.Class<?> clazz,
java.lang.String encodedTimestamp)
ReloadEventProcessorPlugin
reloadEvent in interface ReloadEventProcessorPlugintypename - the (dotted) type name, for example java.lang.Stringclazz - the Class object that has been reloadedencodedTimestamp - an encoded time stamp for this version, containing chars (A-Za-z0-9)
public boolean accept(java.lang.String slashedTypeName,
java.lang.ClassLoader classLoader,
java.security.ProtectionDomain protectionDomain,
byte[] bytes)
LoadtimeInstrumentationPlugin
accept in interface LoadtimeInstrumentationPluginslashedTypeName - the type name, slashed form (e.g. java/lang/String)classLoader - the classloader loading the typebytes - the classfile contents for the type
public byte[] modify(java.lang.String slashedClassName,
java.lang.ClassLoader classLoader,
byte[] bytes)
LoadtimeInstrumentationPlugin
modify in interface LoadtimeInstrumentationPluginclassLoader - the classloader loading the typebytes - the classfile contents for the type
public boolean shouldRerunStaticInitializer(java.lang.String typename,
java.lang.Class<?> clazz,
java.lang.String encodedTimestamp)
ReloadEventProcessorPlugin
shouldRerunStaticInitializer in interface ReloadEventProcessorPlugintypename - the (dotted) type name, for example java.lang.Stringclazz - the Class object that has been reloadedencodedTimestamp - an encoded time stamp for this version, containing chars (A-Za-z0-9)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||