openejb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <>
Subject Re: CMP2 on G2 - Delayed Database Flush
Date Fri, 04 Apr 2008 18:20:20 GMT
I've been sucked into another project and haven't been paying much  
attention to the lists...

The problem is we flush before returning the created object to the  
caller.  The reason we do this is because database generated fields  
are not filled in until the flush statement which means the primary  
key is not guaranteed to be available until flush.  The current code  
requires the primary key to create the cmp proxy we return to the  
caller.  The code will have to be changed to allow for late primary  
key resolution either when the code calls getPrimaryKey or at the end  
of the transaction.

I don't have the time to look at this, but I can help you if you want  
to work on it.


On Apr 3, 2008, at 10:43 PM, Kevan Miller wrote:
> A Geronimo user had reported a performance problem w/ CMP as  
> described below. Any thoughts?
> I'd tried to forward to dev@openejb a while back, but looks like I  
> sent to a bad email address, instead...
> --kevan
> On Feb 26, 2008, at 9:54 PM, ApolloX wrote:
>> Is there a way to configure when commands are flushed to the  
>> database for
>> EJB2 CMP beans in G2?  I noticed something that may be related to  
>> the severe
>> caching/performance slowdown from trying to migrate CMP2 beans from  
>> G1 to
>> G2.
>> Here's a concrete example of the behavior:
>> AdminLocalHome movieHome = (MovieLocalHome)
>> context.lookup("java:comp/env/ejb/MovieLocal");
>> MovieLocal newMovie = movieHome.create(someId);
>> newMovie.setTitle("The Matrix");
>> In G1, this code worked fine because the database INSERT was  
>> delayed until
>> after the setTitle() was called.  In G2, the INSERT happens  
>> immediately
>> after the call to create() leading to a database insertion error  
>> since title
>> is a required field in the database.
>> Could someone provide me with a solution to delay the database  
>> flushing
>> until later on?  As I've said, I don't get the impression anything  
>> is being
>> cached for CMP2 beans in G2 based on the severe performance  
>> slowdown I've
>> seen.
>> ApolloX
>> -- 
>> View this message in context:
>> Sent from the Apache Geronimo - Users mailing list archive at  

View raw message