org.springframework.instrument

## Class InstrumentationSavingAgent

- java.lang.Object
- - org.springframework.instrument.InstrumentationSavingAgent

-     public class InstrumentationSavingAgent
      extends 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`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InstrumentationSavingAgent()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Instrumentation` | `getInstrumentation()` Return the `Instrumentation` interface exposed by the JVM.
    `static void` | `premain(String agentArgs, 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`

- - ### Constructor Detail

    - #### InstrumentationSavingAgent

          public InstrumentationSavingAgent()

  - ### Method Detail

    - #### premain

          public static void premain(String agentArgs,
                     Instrumentation inst)

      Save the `Instrumentation` interface exposed by the JVM.

    - #### getInstrumentation

          public static 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()`