|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Coordinated MessageFlow |
« View previous topic :: View next topic » |
Author |
Message
|
sandu |
Posted: Fri Mar 13, 2009 7:09 am Post subject: Coordinated MessageFlow |
|
|
Newbie
Joined: 10 Sep 2008 Posts: 1
|
Hi,
While testing a simple flow (flow details below) to verify the commit/rollback of database changes, the noticed behavior is different than that documented in WMB infocenter.
Flow Details:
MQInput ---> Compute ---> MQOutput
* Transaction property of MQInput node set to "Yes"
* Transaction property of Compute node set to "Automatic"
* MQInput Node Catch Terminal connected to another MQOutput node (an error Q). Failure terminal is NOT connected.
In the compute node, I am doing 2 inserts into a database table. The first Insert will succeed and the second one fails (I forced it to fail by putting wrong data type).
When I run this flow with the above given node properties, the First Insert is committing data into database even though the message is rolled back to MQInput node catch terminal and sent to error queue.
My understanding is that the Transaction property "Automatic" of the Compute node should roll back the message without comitting changes to database.
Broker version 6.0.0.3 on Windows.
I appreciate if someone can explain the actual behavior or guide me to proper link.
Thanks
Sandu |
|
Back to top |
|
 |
rekarm01 |
Posted: Fri Mar 13, 2009 5:26 pm Post subject: Re: Coordinated MessageFlow |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
sandu wrote: |
While testing a simple flow (flow details below) to verify the commit/rollback of database changes, the noticed behavior is different than that documented in WMB infocenter.
...
* MQInput Node Catch Terminal connected to another MQOutput node (an error Q). Failure terminal is NOT connected.
...
My understanding is that the Transaction property "Automatic" of the Compute node should roll back the message without comitting changes to database. |
To back out a coordinated database transaction, the message flow must roll back its message to the input queue, usually one of two ways:- The MQInput.out flow throws an uncaught Exception, but the MQInput.catch terminal is not connected.
- The MQInput.catch flow throws an uncaught Exception
sandu wrote: |
I appreciate if someone can explain the actual behavior or guide me to proper link. |
From the WMB infocenter: 'Handling MQInput errors'. |
|
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
|
|
|
|