Author |
Message
|
lewisleung |
Posted: Thu May 23, 2002 7:00 pm Post subject: Generate exception in MQInput node itself |
|
|
Novice
Joined: 05 Mar 2002 Posts: 14 Location: Hong Kong
|
Hi,
I want to create an exception by MQInput node itself in order to test the error handler message flow attached to the failure terminal of MQInput node. I tried many methods such as constructing an incorrect MQRFH2 header, but there still no exception generated in failure terminal of MQInput node.
Does anybody know the way to create an exception in failure terminal of MQInput node ?
many thanks
Lewis |
|
Back to top |
|
 |
kirani |
Posted: Thu May 23, 2002 7:11 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Try putting a message on input queue with higher MQMD.Backoutcount than Backoutthreshold value for the queue. For example, if you'r input queue's backout threshold is 2 then set your MQMD.Backoutcount to 3 before putting the message on input 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 |
|
 |
lewisleung |
Posted: Thu May 23, 2002 11:31 pm Post subject: |
|
|
Novice
Joined: 05 Mar 2002 Posts: 14 Location: Hong Kong
|
Thanks for your quick response,
But it seems doesn't work. I set the backoutcount to 3 before sending the message via MQSeries for Java, however, the value in the final output message is still 0.
Documentation said that it is ignored in MQPut call. Do we need extra steps before setting this value ?
Lewis |
|
Back to top |
|
 |
kolban |
Posted: Fri May 24, 2002 3:42 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
I don't believe that you have control over the backout count in the MQMD of the message. That property is owned by the queue manager. To test your scenarios, attach a throw node to the out terminal of the input node. If you set the backout threshold to, say 3, the message will be retrieved 3 times and each time it will be returned to the queue. On the 4th, it will invoke the fail option. |
|
Back to top |
|
 |
Cliff |
Posted: Fri May 24, 2002 6:51 am Post subject: |
|
|
Centurion
Joined: 27 Jun 2001 Posts: 145 Location: Wiltshire
|
You may want to attach your error handling to the MQInput node's catch terminal instead.
Control is routed here, if it is wired, before MQInput rolls back the message onto the input queue. When the message is retrieved again from the input queue, if the backout threshold is exceeded, the message will be propagated to the failure terminal if it is wired, but by this time you have a new UOW, a new message tree and an empty ExceptionList.
HTH - Cliff |
|
Back to top |
|
 |
lewisleung |
Posted: Sat May 25, 2002 2:38 am Post subject: |
|
|
Novice
Joined: 05 Mar 2002 Posts: 14 Location: Hong Kong
|
yes, if MQInput node get a message with backout count greater than the backout thresold, it will put the message to failure terminal.
However, I want to ensure whether this is the only condition MQInput node propagate message into failure terminal. If this is not true, I will need to modify error handler to cater other conditions.
Lewis |
|
Back to top |
|
 |
kirani |
Posted: Sun May 26, 2002 12:31 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Lewis,
In case of failure in MQInput node itself your message will propagate to Failure terminal. I can not think of any other condition than these two. _________________ 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 |
|
 |
|