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