SourceForge     OpenEJB     OpenJMS     OpenORB     Castor     Tyrex     
 

Main
   Home

Tyrex
   API
   Configuration
   Using Tyrex
   Services
   TP Monitoring
   OTS
   JNDI
   Security
   Databases
   Tomcat
   Download

Resources
   License
   Bugs
   Changelog
   Contributors
   Library
   Lists/Forums
   CVS

  



Introduction
Oracle
Sybase
DB2
Informix
Interbase
Cloudscape
Other Databases
Problems

Introduction

This document lists various issues involving XA support and databases.

Oracle

Tested Versions
-Oracle 8.1.7 with Oracle 8.1.7 JDBC driver
-Oracle 9.0.1 with Oracle 9.0.1 JDBC driver

Notes

Oracle 8.1.7 and above is recommended for XA support. Oracle 8.1.6 has not been tested recently.
Tyrex provides a workaround (tyrex.tm.impl.OracleXAResourceHelper) for known Oracle XA issues:
-Oracle 8.1.6 - Oracle XA resource transaction enlistment requires Oracle's implementation of javax.transaction.xa.Xid.
-XAResource.start(XAResource.TMJOIN) is not supported
-The Xid passed to Oracle must not have a null or empty branch qualifier

Issues
-XA resources delisted from a transaction with javax.transaction.xa.XAResource#TMSUCCESS cannot be used in another transaction until the first transaction ends.
-If an XA resource is delisted using javax.transaction.xa.XAResource#TMFAIL the database cannot be accessed for some amount of time (100 seconds in my tests) using a new XA resource from a new XA connection from either the existing XA data source or a new XA data source. Increasing the transaction timeout on the XA resource works occasionally. Best results were achieved using
Thread.currentThread().sleep(100000);

Sybase

Tested Versions
-Sybase 12.0 with Sybase JConnect 5.2 and 5.5 drivers
-Sybase 12.5 with Sybase JConnect 5.2 and 5.5 drivers

Issues
-The database hangs when the XA resource is delisted using javax.transaction.xa.XAResource#TMFAIL

DB2

Notes

DB2 7.1 has not been tested recently

The IBM app driver, that is type 2, provides XA support. There a bug in pooling mechanism that causes a NullpointerException when the logical connection is closed.

Informix

Tested Versions
-Informix 7.30 with JDBC 2.21 driver

Notes

Thanks to Matias Salvador [mhs@sisa.com.ar] for Informix testing

Tyrex provides a workaround (tyrex.tm.impl.InformixXAResourceHelper) for known Informix XA issues:
-XAResource.start(XAResource.TMJOIN) has problems with JDBC 2.21 driver

Interbase

Notes

The current JDBC driver (Version 2.0) does not support XA transactions yet.

Cloudscape

Notes

Cloudscape 3.5 has not been tested recently

Tyrex provides a workaround (tyrex.tm.impl.InformixXAResourceHelper) for known Informix XA issues:
-XAResource.start(XAResource.TMJOIN) has problems

Issues
-XA resources delisted from a transaction with javax.transaction.xa.XAResource#TMSUCCESS cannot be used in another transaction until the first transaction ends.
-There is a bug in the Cloudscape driver that causes infinite recursion during driver registration occasionally.

Other Databases

If there are other databases with a XA implementation and a free download (very important) that people would like tested please send email to Tyrex Users' Mailing List.

Problems

If there are other problems with the databases listed previously send a detailed email to Tyrex Users' Mailing List.

The email should contain:
-A stacktrace if one is available
-The database used, including version number
-The JDBC driver version number
-Instructions on how to reproduce the problem

    


Java, Enterprise JavaBeans, JDBC, JNDI, JTA, JTS, JCA and other Java related APIs are trademarks or registered trademarks of Sun Microsystems, Inc. CORBA and IIOP are trademarks or registered trademarks of the Object Management Group, Inc. X/Open is a trademark of X/Open Company Ltd. All other product names mentioned herein are trademarks of their respective owners.
 
SourceForge Logo