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 » Question about failure handling - (strange behavior?)

Post new topic  Reply to topic
 Question about failure handling - (strange behavior?) « View previous topic :: View next topic » 
Author Message
jharringa
PostPosted: Wed Nov 28, 2007 3:10 pm    Post subject: Question about failure handling - (strange behavior?) Reply with quote

Acolyte

Joined: 24 Aug 2007
Posts: 70

I have the following non-transactional flow:

MQIn -> Compute1 -> SubFlow1 -> SubFlow2 -> Compute2 -> MQReply

SubFlow1 looks like this:

Input -> Compute3 -> MQOut (Request) -> Compute4 (Move MsgId to CorrelId) -> MQGet on CorrelId -> Compute5 -> Output

SubFlow1 has 2 Outputs:
1 for normal processing
1 for Failure processing in the subflow

The failure terminals of Compute3, MQOut, MQGet, and Compute5 are wired to the Failure Output in the Subflow and both Outputs for SubFlow1 are wired to the input of SubFlow2. The Warning and No Message terminals of the MQGet on CorrelId are each wired to their own Throw node.

SubFlow2 looks similar to SubFlow1 but it only has 1 Output and all Failure terminals are unwired.

The intent here is that if the processing in SubFlow1 fails then I want to continue on to SubFlow2.

My problem is thus: The handling is working correctly in SubFlow1 and it will continue no matter what. However, if there is a problem in SubFlow2 then the failure seems to get caught by the failure terminal of my MQGet on CorrelId within SubFlow1. Since that is wired back into SubFlow2 my flow continues again into SubFlow2. If I encounter the error in SubFlow2 again then the flow is brought back to my original MQInput as I had expected before.

So, with that, am I seeing odd behavior or is this to be expected? Is there a better way of gracefully handling failures in SubFlow1?

I am running Broker 6.0.0.5 and Toolkit 6.0.2 ifix 009

By the way, I know that this is orchestration that shouldn't be done in the Broker. However, we are migrating from ICS to Broker. We don't have WPS to do the orchestration and we are getting away from using ICS.
Back to top
View user's profile Send private message
jharringa
PostPosted: Wed Nov 28, 2007 4:00 pm    Post subject: Reply with quote

Acolyte

Joined: 24 Aug 2007
Posts: 70

So, it appears that I'm not the only one who has experienced this. I modified the searches that I had previously executed and found this:

http://www.mqseries.net/phpBB2/viewtopic.php?p=199423

Additionally, I have found that this is fixed in FixPack 6.0.0.6 (which I didn't know was available and only appears to be less than a week old). It may not be an option to regression test our applications in a test environment with the fix pack installed before my production live date.

Does anyone have any suggestions on how I might code around this?

Right now I am considering a check to see how deep the ExceptionList goes. If it is deeper than what my throw nodes provide I am thinking that I will attempt to rethrow the exception.
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 » Question about failure handling - (strange behavior?)
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.