Re: JPA Integration tests with Maven

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Aug 09 2006 - 11:38:06 EDT

  • Next message: Kevin Menard: "RE: IRC Channel?"

    Hi Craig,

    I certainly realize the benefits of the enhancer in case of pseudo-
    POJO JPA-style persistence, and I agree with your design points (the
    same that you made during your presentation in Dublin).

    Unfortunately in practice it causes lots of pain, and I expect more
    to come. Oh well, I'll keep banging my head against this particular
    wall...

    Andrus

    On Aug 9, 2006, at 11:30 AM, Craig L Russell wrote:

    > 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:38:30 EDT