Re: JPA Integration tests with Maven

From: Craig L Russell (Craig.Russel..un.COM)
Date: Wed Aug 09 2006 - 11:30:36 EDT

  • Next message: Andrus Adamchik: "Re: JPA Integration tests with Maven"

    Hi Andrus,

    I think you will find the enhancer to be a very valuable tool to use
    to improve performance and the usability of Cayenne for JPA. All of
    the players in JPA use the enhancement concept to advantage.

    It's probably worthwhile working through these issues. With Java SE 5
    supporting agents, it is much more portable than with previous releases.

    Surefire plugin will might need to be adapted to use the agent with
    forked jvm. I don't understand why it would be necessary if you're
    running in the same vm. The agent applies to all but the system class
    loader IIRC.

    By the way, you might post to open-jpa-dev alias because they use
    surefire for testing and they apparently have made it work ok.

    > We can probably keep the enhancer as an optional extension for
    > "Cayenne-like" behavior, including such "insignificant" things like
    > lazy relationship loading.

    I think JPA users will expect lazy loading to work correctly. And
    it's not just for relationships. Any expensive field (e.g.
    relationship, LOB) will benefit from lazy loading semantics.

    Craig

    On Aug 9, 2006, at 6:43 AM, Andrus Adamchik wrote:

    > Can confirm what IIRC Bill has mentioned before - using "-
    > javaagent" option during integration testing with Maven breaks
    > miserably. I created a separate Maven project with a piece of
    > configuration like that:
    >
    > <plugin>
    > <groupId>org.apache.maven.plugins</groupId>
    > <artifactId>maven-surefire-plugin</artifactId>
    > <configuration>
    > <forkMode>(tried all of them)</forkMode>
    > <childDelegation>(tried true and false)</childDelegation>
    > <argLine>-javaagent:...</argLine>
    > </configuration>
    > </plugin>
    >
    > The configuration above would load the agent, but since Maven
    > Surefire plugin installs its own ClassLoader for the unit tests,
    > the agent doesn't work (I saw a number of errors depending on the
    > combination of parameters). Will probably have to do it with Ant.
    >
    > Also this almost make me want to rewrite the JPA context to support
    > true POJO's without an enhancer, as I suspect we'll be plagued by
    > enhancer related problems in various environments. We can probably
    > keep the enhancer as an optional extension for "Cayenne-like"
    > behavior, including such "insignificant" things like lazy
    > relationship loading.
    >
    > Andrus
    >

    Craig Russell
    Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
    408 276-5638 mailto:Craig.Russel..un.com
    P.S. A good JDO? O, Gasp!





    This archive was generated by hypermail 2.0.0 : Wed Aug 09 2006 - 11:31:03 EDT