org.springframework.instrument
Class InstrumentationSavingAgent

java.lang.Object
  extended by org.springframework.instrument.InstrumentationSavingAgent

public class InstrumentationSavingAgent
extends java.lang.Object

Java agent that saves the Instrumentation interface from the JVM for later use.

Since:
2.0
Author:
Rod Johnson, Juergen Hoeller
See Also:
InstrumentationLoadTimeWeaver

Field Summary
private static java.lang.instrument.Instrumentation instrumentation
           
 
Constructor Summary
InstrumentationSavingAgent()
           
 
Method Summary
static java.lang.instrument.Instrumentation getInstrumentation()
          Return the Instrumentation interface exposed by the JVM.
static void premain(java.lang.String agentArgs, java.lang.instrument.Instrumentation inst)
          Save the Instrumentation interface exposed by the JVM.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instrumentation

private static volatile java.lang.instrument.Instrumentation instrumentation
Constructor Detail

InstrumentationSavingAgent

public InstrumentationSavingAgent()
Method Detail

premain

public static void premain(java.lang.String agentArgs,
                           java.lang.instrument.Instrumentation inst)
Save the Instrumentation interface exposed by the JVM.


getInstrumentation

public static java.lang.instrument.Instrumentation getInstrumentation()
Return the Instrumentation interface exposed by the JVM.

Note that this agent class will typically not be available in the classpath unless the agent is actually specified on JVM startup. If you intend to do conditional checking with respect to agent availability, consider using InstrumentationLoadTimeWeaver.getInstrumentation() instead - which will work without the agent class in the classpath as well.

Returns:
the Instrumentation instance previously saved when the premain(java.lang.String, java.lang.instrument.Instrumentation) method was called by the JVM; will be null if this class was not used as Java agent when this JVM was started.
See Also:
InstrumentationLoadTimeWeaver.getInstrumentation()