|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
ODBC Global Transactions |
« View previous topic :: View next topic » |
Author |
Message
|
vpbroker |
Posted: Mon Aug 22, 2011 7:50 am Post subject: ODBC Global Transactions |
|
|
Newbie
Joined: 22 Aug 2011 Posts: 1
|
Hi Guys,
This topic is more for clarification than reporting a problem. I'm a bit confused by Global transactions in WMB 6.1 regarding ODBC connnections!
According to the documentation, in order for an ODBC datasource to be part of a coordinated transaction, the qm.ini file must be updated to include the datasource with the message flow set to be coordinated. However, I'm not convinced about this. So here is why..........
I have a message flow that has an mq input node -> compute node 1 -> compute node 2
Now, both compute nodes update a oracle database using an odbc connection. Both perform inserts to different tables using the same datasource. The MQ input node has transaction mode set to Yes whilst the other nodes are set to automatic.
In the test, compute node 1 inserts, but then compute node 2 fails due to a database insert error. A exception is thrown which forces the message flow to go to the MQ input node. The input nodes catch and failure terminals are not connected to anything.
Now, the MQ message is backed out to a queue, and the database inserts from compute node 1 is rolled back.
My question is, how is the 2 phase commit controlled with the database? I have not configured the queue manager to include the datasource, and the deployed message flow was not set to be coordinated.
My confusion is that this shouldn't work according to the documentation! I'm sure I've missed something out but if someone could help explain this then it would be great. I've tried searching for articles but they all talk about setting up global coordination and none explain how and why the test above works.
Thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Aug 22, 2011 7:55 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You're missing the distinction between XA and non-XA.
Broker is entirely able to run separate transactions with a database and with it's queue manager.
It's even able to make it's own best efforts to ensure that transactions from the same flow will fail or succeed together.
But that best effort is not the same thing as the guarantee that is made by XA coordination. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|