org.apache.openjpa.enhance
Class InstrumentationFactory

java.lang.Object
  extended by org.apache.openjpa.enhance.InstrumentationFactory

public class InstrumentationFactory
extends Object

Factory for obtaining an Instrumentation instance.

Since:
1.0.0
Author:
Marc Prud'hommeaux

Constructor Summary
InstrumentationFactory()
           
 
Method Summary
static void agentmain(String agentArgs, Instrumentation inst)
          The method that is called when a jar is added as an agent at runtime.
static Instrumentation getInstrumentation(Log log)
           
static void setDynamicallyInstallAgent(boolean val)
          Configures whether or not this instance should attempt to dynamically install an agent in the VM.
static void setInstrumentation(Instrumentation inst)
          This method is not synchronized because when the agent is loaded from getInstrumentation() that method will cause agentmain(..) to be called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InstrumentationFactory

public InstrumentationFactory()
Method Detail

setInstrumentation

public static void setInstrumentation(Instrumentation inst)
This method is not synchronized because when the agent is loaded from getInstrumentation() that method will cause agentmain(..) to be called. Synchronizing this method would cause a deadlock.

Parameters:
inst - The instrumentation instance to be used by this factory.

setDynamicallyInstallAgent

public static void setDynamicallyInstallAgent(boolean val)
Configures whether or not this instance should attempt to dynamically install an agent in the VM. Defaults to true.


getInstrumentation

public static Instrumentation getInstrumentation(Log log)
Parameters:
log - OpenJPA log.
Returns:
null if Instrumentation can not be obtained, or if any Exceptions are encountered.

agentmain

public static void agentmain(String agentArgs,
                             Instrumentation inst)
The method that is called when a jar is added as an agent at runtime. All this method does is store the Instrumentation for later use.



Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.