1. OpenJPA
  2. OPENJPA-952

Utilize Sun JDK's Attach API to dynamically load the OpenJPA enhancer agent


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.0-M3
    • Component/s: kernel
    • Labels:
    • Environment:
      Sun 1.6 JDK.

      Note: The Attach API is ONLY a part of the JDK, not the SDK.
    • Patch Info:
      Patch Available


      When running in a JSE environment, OpenJPA could use the Attach API to dynamically load the enhancer agent at runtime. Dynamically loading the enhancer means that an OpenJPA developer doesn't need to configure a -javaagent. Doing this would dramatically improve the out of box performance, and also improve the ease of use.

      This improvement has the following caveats:
      1.) This API is ONLY a part of the 1.6 JDK.
      2.) This API is supported by only the Sun JDK.
      3.) If the agent is loaded from the earliest OpenJPA code, the agent will be laoded when creating an EntityManager in the EntityManagerFactoryImpl. If an Entity class is loaded by the JVM before the enhancer agent is loaded, that class' byte code will not be enhanced.

      Attach API -

      1. OPENJPA-952.patch
        20 kB
        Rick Curtis
      2. OPENJPA-952.patch
        34 kB
        Rick Curtis
      3. OPENJPA-952.patch
        61 kB
        Rick Curtis

        Issue Links


          No work has yet been logged on this issue.


            • Assignee:
              Michael Dick
              Rick Curtis
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: