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 publicRefer 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=PROCESSThis 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_