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 » designing message flows

Post new topic  Reply to topic Goto page 1, 2  Next
 designing message flows « View previous topic :: View next topic » 
Author Message
Ravee Bhat
PostPosted: Thu Sep 04, 2008 3:22 am    Post subject: designing message flows Reply with quote

Apprentice

Joined: 28 Apr 2004
Posts: 28
Location: Bangalore, INDIA

Hi All

I have a message flow where the MQOut is having the property DestinationList is set and am providing the queue names in the Compute node. My assumption is that if one of the outgoing queues specified, starts throwing errors (e.g. the outgoing channel is stopped and the xmit queue is full to the depth), it will affect the messages flowing into rest of the outgoing queues defined as well.
What's the better design to avoid this?
or is my understanding incorrect?!

thanks in advance
Ravee
_________________
Lets go see The World.
Back to top
View user's profile Send private message Visit poster's website
Gaya3
PostPosted: Thu Sep 04, 2008 3:59 am    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

how good it will be if you dont use destination list.

where there are options to use try, and throw nodes to redirects the error.

i prefer to this solution than that of using destination list and use propagate terminal command to push the message to output queues.
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Sep 04, 2008 4:43 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Xmit queues should be sized to hold all the messages needed for a reasonable outage of the channel.

You could just route the message to multiple MQoutput nodes to keep things easier to maintain.

The extra overhead of multiple MQPUTs is unlikely to be an issue unless you are looking at millions of messages a day.

Destination lists are more useful in non-broker applications where it's hard work to code it all.
Back to top
View user's profile Send private message
AkankshA
PostPosted: Thu Sep 04, 2008 10:20 pm    Post subject: Re: designing message flows Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

Ravee Bhat wrote:
Hi All

I have a message flow where the MQOut is having the property DestinationList is set and am providing the queue names in the Compute node. My assumption is that if one of the outgoing queues specified, starts throwing errors (e.g. the outgoing channel is stopped and the xmit queue is full to the depth), it will affect the messages flowing into rest of the outgoing queues defined as well.
What's the better design to avoid this?
or is my understanding incorrect?!

thanks in advance
Ravee


yes
you are absolutely correct

if one queue throws error all the messages would be rolled back..

use try catch node before MQOutput node to commit the message and take care of the message which is thrown back..
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Ravee Bhat
PostPosted: Fri Sep 05, 2008 4:04 am    Post subject: Reply with quote

Apprentice

Joined: 28 Apr 2004
Posts: 28
Location: Bangalore, INDIA

Quote:
how good it will be if you dont use destination list.

Topic based pub/sub better perhaps!!

Quote:
The extra overhead of multiple MQPUTs is unlikely to be an issue unless you are looking at millions of messages a day.

Should not be a problem I believe, as of now we are only dealing with around 70k messages max. And this is not likely to increase any drastic way!


Yes, routing to multiple MQOut nodes seems to be a better approach than a single Compute node deciding where all the message should flow to. This way I feel the exception handling can even be fine grained on individual output basis.



Thanks so much

cheers
Ravee
ps:
Quote:
Destination lists are more useful in non-broker applications where it's hard work to code it all.

zpat, frankly i did not understand what do you mean by non-broker applications. Could you please throw some light there?
_________________
Lets go see The World.
Back to top
View user's profile Send private message Visit poster's website
zpat
PostPosted: Fri Sep 05, 2008 4:25 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

By non-broker I just mean when using the MQI from a standard application and having to code the MQPUTs by hand.
Back to top
View user's profile Send private message
AkankshA
PostPosted: Fri Sep 05, 2008 5:43 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

Ravee Bhat

hold on..

why are you creating multiple output nodes in a flow.. that would make your flow look awefully bad...

if i understood correctly You simply want to put same message to multiple queues and do not want to rollback the entire transaction in case message could not be put on some specific queue .... is that correct??

Use a TryCatch node before MQOutput... This way any message that could not be put to a specified queue qould come to catch terminal and you can write the code to handle that and processing for rest of messages would go smoothly..
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Ravee Bhat
PostPosted: Mon Sep 08, 2008 2:09 am    Post subject: Reply with quote

Apprentice

Joined: 28 Apr 2004
Posts: 28
Location: Bangalore, INDIA

Thanks for the clarification zpat.

AkankshA, yes it does look bad. Then again its one of the ways flow can be wired. right? I mean if one has multiple labels to route to (not exactly the requirement in my query!)

And yes, You got that correct. I do not want the entire set t fail 'cos of one exception prone o/p path. Having a try/catch seems a lot more cleaner implementation.
Will this behave different if the messages are not bound by a transaction?

thanks,

Ravee
_________________
Lets go see The World.
Back to top
View user's profile Send private message Visit poster's website
sridhsri
PostPosted: Mon Sep 08, 2008 4:47 am    Post subject: Reply with quote

Master

Joined: 19 Jun 2008
Posts: 297

I am not sure how a try-catch will alleviate your worries about a all or nothing transaction. In my opinion you could try one of the following

1) A FOR/WHILE loop in compute with propagate. A MQOutout with transaction set to "no".

2) Continue to use MQDestination with MQOutput's transaction set to "no".
Back to top
View user's profile Send private message
Gaya3
PostPosted: Mon Sep 08, 2008 8:17 pm    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

sridhsri wrote:
I am not sure how a try-catch will alleviate your worries about a all or nothing transaction. In my opinion you could try one of the following

1) A FOR/WHILE loop in compute with propagate. A MQOutout with transaction set to "no".

2) Continue to use MQDestination with MQOutput's transaction set to "no".


dont make it pretty complex,

it will be great if you to try Try-Catch first, this functions will
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
AkankshA
PostPosted: Mon Sep 08, 2008 8:21 pm    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

sridhsri wrote:
I am not sure how a try-catch will alleviate your worries about a all or nothing transaction. In my opinion you could try one of the following


hey Sridhsri

its not a all or nothing scenerio which is desired
all or nothing is which is happening by default and Ravee wants to get rid of that
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Ravee Bhat
PostPosted: Tue Sep 09, 2008 12:36 am    Post subject: Reply with quote

Apprentice

Joined: 28 Apr 2004
Posts: 28
Location: Bangalore, INDIA

Thats right AkankshA.

Sridhsri , The situation I am dealing with is the one where a failure on one o/p path must not troble the rest of the o/p defined.

I guess I will settle down to using the try-catch

thanks
Ravee
_________________
Lets go see The World.
Back to top
View user's profile Send private message Visit poster's website
AkankshA
PostPosted: Tue Sep 09, 2008 1:04 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

good..

2 years back i had done enough reserach on this with MB v5 and we too opted try catch ...
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Ravee Bhat
PostPosted: Tue Sep 09, 2008 1:42 am    Post subject: Reply with quote

Apprentice

Joined: 28 Apr 2004
Posts: 28
Location: Bangalore, INDIA

ah ok!


Quote:
2 years back i had done enough reserach on this with MB v5 ...

Do you think anything has changed with the newer versions of WMB?

thanks
Ravee
_________________
Lets go see The World.
Back to top
View user's profile Send private message Visit poster's website
AkankshA
PostPosted: Tue Sep 09, 2008 2:06 am    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

Ravee Bhat wrote:
ah ok!


Quote:
2 years back i had done enough reserach on this with MB v5 ...

Do you think anything has changed with the newer versions of WMB?

thanks
Ravee


Many things changed but not for this context...
we still use try catch for such a feature if desired
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » designing message flows
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.