You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Christian Lipp <c....@xion.at> on 2008/03/05 14:32:47 UTC
RE: Isolation level
Thank you Armin!
I am using DB2 and I failed to use something like "jdbc.TransactionLevel"
nor could I find anything on the docs for DB2.
So I am going to implement it, as long as anyone on this list know a setting
for DB2?
Thanks, CL
-----Original Message-----
From: Armin Waibel [mailto:arminw@apache.org]
Sent: Mittwoch, 20. Februar 2008 14:47
To: OJB Users List
Subject: Re: Isolation level
Hi Christian,
Christian Lipp wrote:
> Hi Armin,
>
> thank you for quick answer and sorry for my long delay.
>
> We are using an older OJB version (1.0.1.x), so I thought I cannot use
> your recommendation and wanted to perform a backport now.
> I got the actual OJB now and examined it, but also couldn't find an
> attribute in the jdbc-connection-descriptor (I checked the
repository.dtd).
>
> So I asume I have to implement the JDBC transaction level as attribute
> for jdbc-connection-descriptor into OJB or do I miss something?
Some databases support transaction-isolation settings by append a property
in the database URL - e.g. maxDB:
dbalias="//localhost/ojb?isolation=TRANSACTION_READ_COMMITTED
Additionally you can specify connection/database properties as custom
attributes with prefix "jdbc.".
<jdbc-connection-descriptor
....
>
<attribute attribute-name="jdbc.xyz" attribute-value="zxy" />
</jdbc-connection-descriptor>
OJB will set these properties (with jdbc.* prefix) when create the
connection:
Connection con = DriverManager.getConnection(url, properties);
>
> Could someone point me in the right direction for this implementation? I
> assume I have to read the attribute and apply it in the function
> PlatformDefaultImpl.initializeJdbcConnection.
>
If your database doesn't support isolation setting shown above, you can
indeed extend a existing Platform class and override
#initializeJdbcConnection. Within this method you can easily get custom
attributes using:
<jdbc-connection-descriptor
platform="org.apache.ojb.broker.platforms.PlatformMyOwnImpl"
....
>
<attribute attribute-name="isolation" attribute-value="READ_COMMITED" />
</jdbc-connection-descriptor>
class PlatformMyOwnImpl extends PlatformMySQLImpl{
...
public void initializeJdbcConnection(Connection conn)
{
String isolation = jcd.getAttribute("isolation", null);
...
}
}
All shown solutions will work with latest OJB source
http://www.mail-archive.com/ojb-user%40db.apache.org/msg16078.html
I don't check the older versions.
regards,
Armin
> Thanks in advance, CL
>
> -----Original Message-----
> From: Armin Waibel [mailto:arminw@apache.org]
> Sent: Freitag, 25. Jänner 2008 03:03
> To: OJB Users List
> Subject: Re: Isolation level
>
> Hi Christian,
>
> Christian Lipp wrote:
>> I am still looking for an solution for my lock level settings and
>> therefore I am digging through the OJB source.
>>
>> What I am not sure at the moment is if the setting of the
>> isolation-level is generally ignored in OJB?
>> <descriptor-repository version="1.0" isolation-level="read-comitted">
>>
>> I couldn't find the place in the OJB code where the isolation level is
>> set to the DescriptorRepository and later to the connection.
>> In my optionion the isolation-level in the XML file is ignored.
>>
>> Could someone point me in the right direction?
>
> Out of the box the isolation-level setting is only used by the ODMG-api
> which use pessimistic locking by default.
> http://db.apache.org/ojb/docu/guides/lockmanager.html#Pessimistic-Locking
> The PB-api doesn't use pessimistic locking, thus it will ignore these
> settings.
>
> The database transaction levels are completely independent from the
> isolation-level setting in OJB. So you can use different database
> transaction levels (e.g. as property in the dbalias attribute in the
> jdbc-connection-descriptor)
>
> regards,
> Armin
>
>> Thanks in advance,
>> CL
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org