|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
All or none |
« View previous topic :: View next topic » |
Author |
Message
|
timmy |
Posted: Tue Mar 18, 2003 9:59 am Post subject: All or none |
|
|
 Novice
Joined: 12 Aug 2002 Posts: 24 Location: Torello
|
Hi,
I'm creating 3 out messages. I only want send them if all the 3 are created well, but in case of some of them can't be created I don't want send any.
How can I do this?
Thanks in advance. |
|
Back to top |
|
 |
lung |
Posted: Tue Mar 18, 2003 6:08 pm Post subject: |
|
|
 Master
Joined: 27 Aug 2002 Posts: 291 Location: Malaysia
|
Maybe u can manipulate the use of Aggregation nodes  _________________ lung |
|
Back to top |
|
 |
kirani |
Posted: Tue Mar 18, 2003 9:41 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
You can also use FlowOrder node or the PROPAGATE command to do this. If you are processing this message under one transaction then this will be taken care of automatically. _________________ 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 |
|
 |
timmy |
Posted: Wed Mar 19, 2003 2:07 am Post subject: |
|
|
 Novice
Joined: 12 Aug 2002 Posts: 24 Location: Torello
|
Thanks for your help but I'm working with v 2.0.2, so I can't use neither Agreggation nodes nor the Propagate command.
I either can't use neither supportpacs nor databases.
I'm going to expand on my problem:
I'm using one main flow and 5 subflows. In Sublows 2,3,4,5 I only create one output message, so I have no problem. Main flow and Subflow1 are as follow:
Main flow:
MQInput(transaction mode = YES) (out) -> Filter1 (true) -> Subflow1 (OutputTerminal) -> MQOutput1 (transaction mode = YES)
Filter1 (false) -> Filter2 (true) -> Subflow2 (OutputTerminal) -> MQOutput1
...
MQInput (catch) -> general error subflow
Subflow1:
InputTerminal (out) -> FlowOrder1 (first) -> Compute1 (out) -> OutputTerminal
Compute1 (failure) -> Trace1 (out) -> MQOutput2
FlowOrder1 (second) -> FlowOrder2 (first) -> Compute2 (out) -> OutputTerminal
Compute2 (failure) -> Trace1 (out) -> MQOutput2
FlowOrder2 (second) -> Compute3 (out) -> OutputTerminal
Compute3 (failure) -> Trace1 (out) -> MQOutput2
I would like that if there is any problem in Compute1, 2 or 3, any output message is sent, but it doesn't work. Any idea?
Thanks a lot. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 19, 2003 7:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Try this:
Change your failure hookups inside Subflow1 like this:
Code: |
Compute1(failure)->Trace1(out)|->MQOutput2(TransactionMode=NO)
->ComputeB(out)->OutputTerminal(failure) |
That is, connect the out terminal of Trace1 to two nodes - one that writes out your error message like it did, and one that sets a flag or something and passes it to another output terminal labeled failure. Change the transaction mode on the MQOutput2 node to ensure that your error message gets put to the queue and not rolled back.
Then your main flow has an additional failure terminal appear on the subflow, that you can hook up to something that looks at the flags that are set, or hooked up to nothing if you just want the failure to propogate up to your input node. |
|
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
|
|
|
|