Subject XA driver pooling issue
Author orbanlu
I tried a simple XA test with the 2.0.0rc3a driver under weblogic and
I cannot make it work properly.

I'm getting these strange exceptions:

<22-oct.-2005 12 h 25 min 16 s CEST> <Error> <JDBC> <BEA-001112> <Test
"select 1 from rdb$database" set up for pool "Firebird XA Pool DB2"
failed with exception: "java.lang.NullPointerException".>
<22-oct.-2005 12 h 25 min 16 s CEST> <Error> <JDBC> <BEA-001035> <The
following error has occurred: XA operation failed :
org.firebirdsql.jca.FBXAException: You are trying to resume a
transaction that has is new
at
org.firebirdsql.jca.FBManagedConnection.findIscTrHandle(FBManagedConnection.java:1069)
at
org.firebirdsql.jca.FBManagedConnection.internalStart(FBManagedConnection.java:995)
at
org.firebirdsql.jca.FBManagedConnection.start(FBManagedConnection.java:968)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:696)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1145)
...

<22-oct.-2005 12 h 25 min 16 s CEST> <Error> <JDBC> <BEA-001112> <Test
"select 1 from rdb$database" set up for pool "Firebird XA Pool DB2"
failed with exception: "java.lang.NullPointerException".>
<22-oct.-2005 12 h 25 min 16 s CEST> <Error> <JDBC> <BEA-001035> <The
following error has occurred: XA operation failed :
java.lang.NullPointerException
at
org.firebirdsql.jca.FBManagedConnection.internalRollback(FBManagedConnection.java:911)
at
org.firebirdsql.jca.FBManagedConnectionFactory.notifyRollback(FBManagedConnectionFactory.java:636)
at
org.firebirdsql.jca.FBManagedConnection.rollback(FBManagedConnection.java:896)
at weblogic.jdbc.jta.DataSource.rollback(DataSource.java:1150)
...

My setup is pretty simple. I've configured 2 connection pools with 2
datasources, both with these settings:

Driver classname:
org.firebirdsql.pool.sun.AppServerXADataSource

Properties:
user=java
pooling=false
blockingTimeout=1000
databaseName=users1 (databaseName=users2 for the 2nd DB)


When I set the pooling property to true, the test works fine. I've
tried to disable it because I think it would be redundant with the
weblogic one.

Any cluse why disabling driver pooling confuses weblogic or why
weblogic confuses jaybird ?

Thanks,
Ludovic