geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Hogstrom <m...@hogstrom.org>
Subject Re: Updates to OEJB 2.2 and TranQL 1.4
Date Wed, 22 Nov 2006 18:53:35 GMT
The Access Intent strategy is fairly straightforward.

When deploying the entity you specify <select-for-update/> in the EJB  
descriptor if you want database locking to occur.

For Oracle a simple FOR UPDATE is appended to the query.  For DB2 a  
FOR UPDATE WITH RS USE NAD KEEP UPDATE LOCKS is appended to the query.

Oracle is pretty straightforward as at read-committed FOR UPDATEs are  
persistent.

For DB2 at RS the additional predicates are required so that the lock  
is persistent for the duration of the Tx.

Unfortunately there is no finer grained locking for CMP2 persistence  
at this point but with the move to Java EE 5.0 and based on past  
experience this is a good compromise and provides pretty good  
performance.

On Nov 22, 2006, at 8:45 AM, Udovichenko, Nellya wrote:

>> It does not explicitly allow one to set isolation
>> level on each call though.
>
> And what about the transaction isolation level setting for particular
> EJB (in descriptor plan)?
>
> Thanks,
> Nellya.
>
> -----Original Message-----
> From: Matt Hogstrom [mailto:matt@hogstrom.org]
> Sent: Monday, November 20, 2006 8:26 PM
> To: dev@geronimo.apache.org
> Subject: Re: Updates to OEJB 2.2 and TranQL 1.4
>
> Yes
>
> Basically it allows one to specify select-for-update to delegate
> locking to the db.  It does not explicitly allow one to set isolation
> level on each call though.
>
> I'm modifying the Rar for db2  to allow the specification of a
> default isolation level so one is not tied to RS for DB2.
>
> On Nov 20, 2006, at 11:02 AM, Udovichenko, Nellya wrote:
>
>> Oh, by the way, doesn't this change address the transaction isolation
>> level
>> problem in TranQL/OpenEJB (GERONIMO-2128)?
>>
>> Thanks,
>> Nellya Udovichenko.
>>
>> -----Original Message-----
>> From: Matt Hogstrom [mailto:matt@hogstrom.org]
>> Sent: Tuesday, November 14, 2006 2:55 AM
>> To: dev@geronimo.apache.org; openejb-dev@incubator.apache.org
>> Subject: Updates to OEJB 2.2 and TranQL 1.4
>>
>> I have updated TranQL 1.4 and Open EJB 2.2 to support specification
>> of a Select-For-Update clause in the openejb-jar.xsd when deploying
>> CMP EJBs.  I have published new SNAPSHOTs of both projects so in a
>> perfect world there should be no pain :)
>>
>> I'll be stress testing DayTrader tonight to confirm that we can run
>> an EJB workload under stress.  If no changes are made then the
>> current SQL syntax is generated and you'll notice no difference.  If
>> you want you can add a <select-for-update>true</select-for-update>
>> element to the Entity element in your openejb-jar.
>>
>> I'll post some results when I finish testing.
>>
>> Cheers.
>>
>>
>> Matt Hogstrom
>> matt@hogstrom.org
>>
>
> Matt Hogstrom
> matt@hogstrom.org
>
> When the clouds are full they pour the rain out on the earth;
> and whether a tree falls to the north, or it falls to the south,
> wherever the tree falls, there is lies.
>

Matt Hogstrom
matt@hogstrom.org

When the clouds are full they pour the rain out on the earth;
and whether a tree falls to the north, or it falls to the south,
wherever the tree falls, there is lies.



Mime
View raw message