Author |
Message
|
umaneesh |
Posted: Thu Oct 08, 2009 7:59 am Post subject: Way to handle transactionality with no duplication |
|
|
Novice
Joined: 13 Apr 2009 Posts: 24
|
Hi,
My msgflow is to receive one msg and send it [As Is] to different destination queues. The requirement is that, if one destination queue has some issue, the transaction should not get rolled back for all destination queues. Typically I send msgs to queue by an mqoutput node. I can manually set transcation as "No" in node properties, which leads to a duplication of msgs while my error handler handles[during retry] it.
Is there a way to make all the mqoutput nodes independent and also avoid duplication while retry?
Pub sub is one option.. Is there any other direct approach?
Thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Oct 08, 2009 8:04 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You will have to keep track of which ones succeed, and then check before sending out again during retry. |
|
Back to top |
|
 |
umaneesh |
Posted: Thu Oct 08, 2009 8:36 am Post subject: Way to handle transactionality with no duplication |
|
|
Novice
Joined: 13 Apr 2009 Posts: 24
|
mqjeff wrote: |
You will have to keep track of which ones succeed, and then check before sending out again during retry. |
Thanks Jeff
But how to track the succeded one? On the other way, I can always track the failed one by taking queue info from error handler. Then make a compute node to route only to the failed one for retry. |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Oct 08, 2009 9:38 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
IF there is no exception in the MQOutputNode then in a compute node after the MQOutputNode you can update a variable in the Environment Folder with the status. This will all you to track which queues have problems.
If there is a problem then an exception will be thrown and you can handle it in nodes/code wirted to a catch terminal.
I'd probably put a try catch node before I distribute the messages. This would all you to write dedicated exception handling code. It is relatively easy to extract the Queue Name that caused the problem from the exceptionlist. _________________ 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 |
|
 |
umaneesh |
Posted: Fri Oct 09, 2009 12:57 pm Post subject: Way to handle transactionality with no duplication |
|
|
Novice
Joined: 13 Apr 2009 Posts: 24
|
Thanks Jeff L, and Davies.. I have designed for two queues by extracting queue names in excpn list and by backoutCount/MQRC resending msgs to respective failed queue.
Thanks! |
|
Back to top |
|
 |
|