ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Flow order node

Post new topic  Reply to topic
 Flow order node « View previous topic :: View next topic » 
Author Message
yellowbee
PostPosted: Sat Feb 02, 2013 2:23 am    Post subject: Flow order node Reply with quote

Acolyte

Joined: 14 Apr 2012
Posts: 58

In the Flow order node If the first phase of processing fails, the node does not regain control and does not propagate the message through the Second terminal.

My doubt is if any exception or failure occurred while processing the message in second phase,what will happen to the original input message.

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Feb 02, 2013 4:56 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Depends on whether the first path committed anything or not...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kash3338
PostPosted: Sat Feb 02, 2013 6:06 am    Post subject: Re: Flow order node Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

yellowbee wrote:
My doubt is if any exception or failure occurred while processing the message in second phase,what will happen to the original input message.


Depends on what your requirement is. What is your requirement?
Back to top
View user's profile Send private message Send e-mail
yellowbee
PostPosted: Mon Feb 04, 2013 9:03 am    Post subject: Reply with quote

Acolyte

Joined: 14 Apr 2012
Posts: 58

Thanks Kash..

My Error handling flow is like..

----Sub flow to Roll back changes(First Leg)
|
MqInput Node -> Filter Node | --- Data Base Insertion
----- Filter Node |
---- Response back to sender

My doubt is that if any exception occur at the second leg of the second Flow order Node then, what will happen to the original message .
Back to top
View user's profile Send private message
NealM
PostPosted: Mon Feb 04, 2013 9:10 am    Post subject: Reply with quote

Master

Joined: 22 Feb 2011
Posts: 230
Location: NC or Utah (depends)

Still not real clear to me what you want it to do. But, you could always stick a Trycatch Node as your first node on the 2nd leg and have complete control of what you want to do should the situation occur...
Back to top
View user's profile Send private message
yellowbee
PostPosted: Mon Feb 04, 2013 10:24 am    Post subject: Reply with quote

Acolyte

Joined: 14 Apr 2012
Posts: 58

I mean in my flow there are 2 Flow order nodes are there

in the 1st Flow order node,First leg connected to a sub flow that redirect to Main flow which roll back the changes. the second leg of 1st flow order node is connected to another flow order Node.

in The 2nd flow order node,the first leg is connected to database insertion Node.The Second leg of 2nd flow order node is used to send the error message to the sender of message.

If an exception occurred in fallowing scenarios,Could u explain me what will happen to the input message.

1)If an exception occurred at second leg of 2nd flow order node
2) If an exception occurred at first leg of 2nd Flow order node


Thanks
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Feb 04, 2013 11:00 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

any transactions that were committed down the first path are still committed when you get to the second path.
Back to top
View user's profile Send private message
NealM
PostPosted: Mon Feb 04, 2013 11:58 am    Post subject: Reply with quote

Master

Joined: 22 Feb 2011
Posts: 230
Location: NC or Utah (depends)

I'm still not sure what you are after, but:
When your message has a failure, it will be rolled back toward your originating input node, without taking any sidepaths like the First terminal in a floworder node, until it reaches a node in the backtrack that has its Failure terminal wired, and will then follow that path (which, if it in turn fails, will cause the message to continue back to the Input node). If it makes it all the way back to the input node's failure processing, then any transactional , not yet committed happenings on those first flow order legs will be rolled back. And what happens to your input message depends on what your failure processing does then. Backout count/queue, failure terminal path, .....
Here's a suggestion: Since the global Environment does not get rolled back on a failure, use it to set a few status/completion flags down each leg so your failure processing knows what may or may not have been accomplished in the flow.
Back to top
View user's profile Send private message
kash3338
PostPosted: Mon Feb 04, 2013 6:27 pm    Post subject: Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

You can easily simulate this and debug the flow to know what is happening, and check each and every tree after each use case, that would give you much clear and better understanding than what you read here. Just my suggestion.
Back to top
View user's profile Send private message Send e-mail
lancelotlinc
PostPosted: Tue Feb 05, 2013 6:15 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

kash3338 wrote:
You can easily simulate this and debug the flow to know what is happening, and check each and every tree after each use case, that would give you much clear and better understanding than what you read here. Just my suggestion.


The interactive debugger is a poor choice here. Try Trace nodes.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
kash3338
PostPosted: Tue Feb 05, 2013 7:51 am    Post subject: Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

lancelotlinc wrote:
The interactive debugger is a poor choice here. Try Trace nodes.


Accepted, trace nodes are a good choice, but why do you say interactive debugger as a poor choice? Any specific reason?
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Tue Feb 05, 2013 8:08 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kash3338 wrote:
why do you say interactive debugger as a poor choice? Any specific reason?


- the interactive debugger changes the behaviour of the flow it's monitoring, e.g. it completely parses a message tree to display it in the window where the flow typically parses on demand
- the debugger will show you what's happened (the value of a variable) but not how it's happened. Consider if a variable is evaluating to null; the debugger will confirm that it's null (which you know) but not how it failed to be assigned a value.
- not all environments support the interactive debugger. Most production environments have the debugger port closed for security reasons.

This is a representative sample of reasons, not an exhaustive list.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Feb 05, 2013 10:52 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

kash3338 wrote:
lancelotlinc wrote:
The interactive debugger is a poor choice here. Try Trace nodes.


Accepted, trace nodes are a good choice, but why do you say interactive debugger as a poor choice? Any specific reason?


Because its hard to keep track of where you are in the flow, and once you pass the problem area in the interactive state, you have to start all over again. Using a method of debugging in which the interested information is stored is much preferable because the timing is maintained. Some WMB facilities depend on timing. Getting in the habit of using Trace nodes for design and debugging which will save you a boat load of time trying to catch hard to find issues.

All these things in addition to what Vitor said, which was quite visionary.

Some basic rules for Trace nodes:

1. Put a trace node between each major node in your flow.

2. Make sure all terminals are attached to a unique Trace node.

3. Use Throw nodes if needed.

4. Don't put more than one input wire to any Trace node.

5. Make sure each unique Trace node writes to a unique file on disk.

6. Here is an example pattern:

Code:
Root:
${Root}
===
LocalEnvironment:
${LocalEnvironment}
===
Environment:
${Environment}
===
ExceptionList:
${ExceptionList}
===
${CURRENT_TIMESTAMP}
=======================


7. Get good at reading trace files.

8. If your trace files contain PCI or ePHI data, turn them off in Production through the mqsichangetrace command. Trace nodes that are off in Production consume virtually no resources.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
NealM
PostPosted: Tue Feb 05, 2013 12:47 pm    Post subject: Reply with quote

Master

Joined: 22 Feb 2011
Posts: 230
Location: NC or Utah (depends)

Quote:
7. Get good at reading trace files.

...and of course pay attention to the values on those global Environment variables that I mentioned for you to set, in your trace output.....
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Flow order node
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.