Author |
Message
|
Empeterson |
Posted: Fri May 09, 2003 11:01 am Post subject: Rolling back all messages in a group if 1 fails... |
|
|
Centurion
Joined: 14 Apr 2003 Posts: 125 Location: Foxboro, MA
|
Hello,
I am trying to route all messages in a group to a fail queue if any of the messages in a group fail. At this point, I can only get the failed message to route to the fail queue, but the successful will continue on to the output. I have the following properties set on my input node:
Transaction mode: yes
Logical Order: checked
All messages available: checked
Committ by message group: checked
I have no failure or catch terminals wired up except on the input node. Is there something I am missing or doing wrong? |
|
Back to top |
|
 |
kirani |
Posted: Fri May 09, 2003 4:29 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Could you provide your environment details? Try to connect only the failure terminal of your MQInput node to the fail queue. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Empeterson |
Posted: Mon May 12, 2003 5:16 am Post subject: |
|
|
Centurion
Joined: 14 Apr 2003 Posts: 125 Location: Foxboro, MA
|
WMQI v2.1 CSD4 running on Win2k. Eventually this will get deployed up to an AIX broker. |
|
Back to top |
|
 |
Empeterson |
Posted: Tue May 13, 2003 5:59 am Post subject: |
|
|
Centurion
Joined: 14 Apr 2003 Posts: 125 Location: Foxboro, MA
|
I disconnected the catch terminal and only have the failure terminal wired up and now it works fine. One more question, if I use a Throw node somewhere in the flow, will that disrupt the rolling back of all messages? It seems that if you wire up any catch, or any other failure terminals not on the input node, then WMQI assumes that you will handle the exception yourself and it will not rollback all the messages. Please correct me if I am wrong. Will using a throw node have the same effect? |
|
Back to top |
|
 |
Empeterson |
Posted: Wed May 14, 2003 12:47 pm Post subject: |
|
|
Centurion
Joined: 14 Apr 2003 Posts: 125 Location: Foxboro, MA
|
I am using the XML Transformation node, and if bad data gets passed into the node (ie, not parsable by the xsl stylesheet) I get an unknown exception passed back. Which is fine except for the fact that I seem to lose the transactional nature of my flow. What happens is that the message that fails in the tranform node gets thrown to the fail queue, while all the following messages in the group get put to the output queue. The same appears to happen if I use a Throw node anywhere in the flow. Can I not use a throw node when the transaction mode is set to Yes? The rollback works fine if a Recoverable Exception is thrown, but what about if an unknown exception is thrown? How do I handle that? |
|
Back to top |
|
 |
kirani |
Posted: Wed May 14, 2003 1:02 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
You can use Throw node and still have all messages in a group rollback if any of them fails during processing. Just make sure you are not wiring any "failure" terminals of your nodes, this means you are handling the exception. Also make sure you don't have try-catch node in between, if you do, make sure you re-throw the exception back to MQInput node using Throw node. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Empeterson |
Posted: Wed May 14, 2003 1:04 pm Post subject: |
|
|
Centurion
Joined: 14 Apr 2003 Posts: 125 Location: Foxboro, MA
|
I have no failure terminals wired up except on the input node and have no try-catch nodes anywhere either. |
|
Back to top |
|
 |
|