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 » Database commit in flow

Post new topic  Reply to topic Goto page Previous  1, 2
 Database commit in flow « View previous topic :: View next topic » 
Author Message
kirani
PostPosted: Tue Sep 23, 2003 8:44 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

cfryett wrote:

One of my colleagues is working with my message flow and is getting rollback to occur with the failure terminal wired on the MQInput node. From my understanding in order to properly get transactional rollback no failure terminal can be wired and no Try/Catch node/terminal can be wired correct? So, what gives?

I was talking about Compute node's failure terminal. If you have that attached then please make sure that path ends with Throw.

cfryett wrote:

So, I fully understand this in order to obtain transactional rollback the message needs to come back to the MQInput Node. If the catch terminal is wired the transactional rollback will not occur, but if the failure terminal is wired it seems to work fine. This seems to go against what Craig has mentioned above or I have mis-interpreted it.

You can still wire your catch terminal, but again it should end with Throw. You may choose to wire this terminal to do some error handling. I didn't go thru Criag's post completely

And most importantly, if you want your DB updates to coordinate with MQ then you need to use 2-phase commit.
_________________
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
View user's profile Send private message Visit poster's website
EvolutionQuest
PostPosted: Thu Sep 25, 2003 6:13 am    Post subject: Reply with quote

Voyager

Joined: 18 Sep 2001
Posts: 88
Location: Billings, MT

The resolution to the overall problem is as follows:


1. The MQInput node only had the out terminal wired.
2. The Compute node which called the 1-n SQL stored procedures reviewed the return codes and if it was an error it threw a user exception which forced the failure terminal on the compute node to become active.
3. We then constructed our error message, wrote it to an output error queue, and threw an exception to cause a transactional rollback
4. The error queue would be handled by another flow which would update an error table with the proper content
5. The MQInput node's queue backout count was set to 1 so the message would be thrown

_________________
Don't blame technology, for technology was created by humans!
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Database commit in flow
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.