geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Boynes <jboy...@apache.org>
Subject Re: XA support
Date Tue, 29 Nov 2005 06:34:29 GMT
Guglielmo.Lichtner@instinet.com wrote:
> A driver-based connector cannot support XA?
> 

The generic driver-based connector uses a java.sql.Driver to get a
java.sql.Connection which only supports local transactions; you can't
get the necessary XAConnection from a Driver.

The generic connector one fakes out XA so that the appserver thinks it
is there but in reality the database is using local transactions. To
actually use XA a bit more work is needed.

> I don't know know enough about the issue to understand what you mean. I 
> presume that you are
> stating that in the context of JCA, but that if I create the xa data 
> source myself then it does (I did, it does.)
> 

The TranQL connector framework provides all the infrastructure needed to
bridge between JDBC (XADataSource) and the J2CA APIs. However, for each
JDBC implementation it needs to create and initialize the XADataSource
and this is database specific.

To support a new database you need to provide the framework with a
JavaBean that creates the driver-specific XADataSource and allows the
appropriate properties to be initialized. This is pretty trivial as you
can see from the Derby one here:
http://cvs.tranql.codehaus.org/vendors/derby/common/src/java/org/tranql/connector/derby/ClientXAMCF.java?rev=1.2&view=auto

It's really just a bunch of property accessors.

To make this into a connector, you also need a ra.xml, here's the one
for Derby:
http://cvs.tranql.codehaus.org/vendors/derby/client-xa/src/rar/META-INF/ra.xml?rev=1.1&view=auto

If you can provide equivalents for your MySQL driver as a patch to
dev@tranql.codehaus.org we'd be happy to add them to the project - it is
testing the different environments that is the largest challenge.

--
Jeremy

Mime
View raw message