Known problems and limitations with JTA/JDBC coordination

 

Because this support makes calls to JDBC drivers, the implementation of those JDBC drivers can have significant impact on the system behavior. In particular, tested JDBC drivers behave differently when the database is shut down while an application is running. Always avoid abruptly shutting down a database while there are applications holding open connections to it.

Multiple XAResourceManager stanzas

The use of more than one XAResourceManager stanza in a queue manager configuration file, qm.ini, is not supported. Any XAResourceManager stanza other than the first is ignored.

DB2

Sometimes DB2 returns a SQL0805N error. This problem can be resolved with the following CLP command:

DB2 bind @db2cli.lst blocking all grant public
Refer to the DB2 documentation for more information.

The XAResourceManager stanza must be configured to use ThreadOfControl=PROCESS. For DB2 version 8.1 and higher this does not match the default thread of control setting for DB2, so toc=p must be specified in the XA Open String. An example XAResourceManager stanza for DB2 with JTA/JDBC coordination is as follows:

XAResourceManager:
     Name=jdbcdb2
     SwitchFile=jdbcdb2
     XAOpenString=uid=userid,db=dbalias,pwd=password,toc=p
     ThreadOfControl=PROCESS
This does not prevent the Java™ applications that use JTA/JDBC coordination from being multithreaded themselves.

Oracle 8.1.7

Calling the JDBC Connection.close() method after MQQueueManager.disconnect() generates an SQLException. Either call Connection.close() before MQQueueManager.disconnect(), or omit the call to Connection.close().


uj11310_