|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
WMB/ WMQ transactions. |
« View previous topic :: View next topic » |
Author |
Message
|
venky |
Posted: Wed Jul 23, 2008 8:56 pm Post subject: WMB/ WMQ transactions. |
|
|
 Master
Joined: 08 Jul 2003 Posts: 205
|
Hi All,
I have a message flow with the following nodes.
File Input Node --> Compute Node ---> OutPut 1 node, Output 2 Node. (Out terminal of Compute Node connected to input terminals of both OutPut 1 node, Output 2 Node)
Scenario 1: if for some reason, someone deletes the MQ queue associated with OutPut 1 node, and if a message comes through the File Input Node, then I would like to rollback the all messages. ie.., no messages should be written to neither output 2 node nor OutPut 1 node.
On the other hand,
scenario: 2: if for some reason, somehow the MQ queue associated with node OutPut 2 node, then I don't want to rollback the message that was written to OutPut 1 node.
so to acheive this, I changed the transaction properties for the File Input Node , OutPut 1 node and OutPut 2 node as follows:
File Input node = transaction "yes"
OutPut 1 node = transaction "no"
Output 2 node = transaction "yes"
the above configuration works fine until I stop & start message flows, or do some changes to queues, (like delete one of the queues to test the scenarios). Once I make some changes, it won't work as expected.
I am running WMB 6.1.0, WMQ 6.0.2.3
Has anyone come across similar problem? any recommendation ? Is there something wrong with the configuration above ?
Does the persistence of the queue have anything do with transactional behavior?
V |
|
Back to top |
|
 |
Gaya3 |
Posted: Wed Jul 23, 2008 9:37 pm Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
File Input Node --> Compute Node ---> OutPut 1 node, Output 2 Node
from this scenario i guess the most important datas reaches on Output 1 node
so put a try catch node before output 2 node and with same properties that you have sent already.
where if the output 2 queue is not present or if itz full, messages will be commited to output 1 node.
you can think of error handling then onwards... _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Jul 23, 2008 9:51 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Take a look at the following nodes
- Flow Order
- Try/Catch
Then putting a user trace on the flow is always a good aid to finding out what went wrong.
The MQOutput Node should throw an error with an MQRC=2085 when it tries to use non existent object.
However that said, I would want to understand why you are coding for the specific error of someone deleting a Queue.
The only case I see for this would be if you were using Temporary/Dynamic Queues created by a client which has 'gone away' before the broker can sent it a reply.
A little more information as to why you want this would help us give you more informative answers. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
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
|
|
|
|