|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Question about failure handling - (strange behavior?) |
« View previous topic :: View next topic » |
Author |
Message
|
jharringa |
Posted: Wed Nov 28, 2007 3:10 pm Post subject: Question about failure handling - (strange behavior?) |
|
|
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 |
|
 |
jharringa |
Posted: Wed Nov 28, 2007 4:00 pm Post subject: |
|
|
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 |
|
 |
|
|
 |
|
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
|
|
|
|