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 » Clustering » Clustered MQ with Clustered WAS MDB - Configuration Question

Post new topic  Reply to topic
 Clustered MQ with Clustered WAS MDB - Configuration Question « View previous topic :: View next topic » 
Author Message
MarkB
PostPosted: Mon Feb 06, 2012 9:12 am    Post subject: Clustered MQ with Clustered WAS MDB - Configuration Question Reply with quote

Newbie

Joined: 06 Feb 2012
Posts: 3

I was hoping someone could point me in the right direction concerning the configuration of WMQ and WAS when MDB's are used.

More specifically, what is the predominant approach to solving the problem of a clustered queue being routed messages when a consumer of those messages on a specific local queue has been disabled?

We have a clustered MQ v6 environment. All messages are put to a clustered queue name that is hosted on 2 queue managers. Each queue manager has a queue that has a WAS MDB listening or getting on it.

In the case where one MDB goes down (because of an unhandled poison message lets say), messages continue to be directed to both queue managers in the cluster, but are not being consumed off of one of the queues on one of the queue managers.

What is the recommended approach to solving this situation?

a) Reaching a reduced maximum queue depth on the local queue will result in messages being directed to the DLQ - not a great solution.
b) CCDT's only take effect at connect time, so it seems that this won't work with the MDB's that are always connected.
c) Using a cluster exit to monitor queue depth and "put disable" the local queue when a specific message depth threshold is reached sounds like a possibility, but the chances of shutting down a queue in the cluster when higher than expected volumes are encountered could be counter productive.
d) modifying the cluster message routing algorithm seems like a possibility, but is sort of heavy handed.

So, my question is, what have others done to manage this situation - what am i missing?

Thanks for reading this guys. Any info would be appreciated. If this is a silly question, please don't flame me. I've looked through the forum and could not locate a suitable solution.

Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Feb 06, 2012 9:41 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Multiple instances of the MDB (from multiple app servers) need to client connect to each queue.

Then a failure of any one MDB or any one Queue Manger does not impact new transactions being submitted.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
MarkB
PostPosted: Mon Feb 06, 2012 9:51 am    Post subject: Reply with quote

Newbie

Joined: 06 Feb 2012
Posts: 3

OK Peter, let me play this out....

So each app server has an MDB configured to read messages from each queue managers local queue? i.e. One MDB class, 2 resource references, each bound to a local queue manager's instance of the queue.

Wouldn't this lead to the possibility of a specific message being consumed by more than one MDB, since both MDB's would be getting from the same queue?
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 06, 2012 9:52 am    Post subject: Re: Clustered MQ with Clustered WAS MDB - Configuration Ques Reply with quote

Grand High Poobah

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

MarkB wrote:
In the case where one MDB goes down (because of an unhandled poison message lets say), messages continue to be directed to both queue managers in the cluster, but are not being consumed off of one of the queues on one of the queue managers.


That's not a very likely scenario; WAS provides inbuilt poison message support by honouring the backout threashold.

I'll leave others better qualified to talk about wizzy things you can do in WAS to restart or reconnect MDBs. In my world, monitoring detects applications going over & takes action. Like restarting them.


_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 06, 2012 9:55 am    Post subject: Reply with quote

Grand High Poobah

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

MarkB wrote:
Wouldn't this lead to the possibility of a specific message being consumed by more than one MDB, since both MDB's would be getting from the same queue?


Only if there's something very odd going on. WMQ doesn't allow multiple applications to read the same message (if it did, no platform would ever be able to scale message consumers to handle the situation where messages are being sent faster than they can be consumed).

And by "very odd" I include some Java handle sharing stuff I wouldn't understand if you told me.

But I've had multiple MDB instances under WAS reading from a single queue & the last thing I worried about was 2 MDBs getting the same message.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MarkB
PostPosted: Mon Feb 06, 2012 10:06 am    Post subject: Reply with quote

Newbie

Joined: 06 Feb 2012
Posts: 3

Thanks Vitor.

Looks like I was trying to solve a perceived rather than a real problem.

I appreciate both yours and Peter's help.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Feb 06, 2012 2:16 pm    Post subject: Reply with quote

Grand High Poobah

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

MarkB wrote:
OK Peter, let me play this out....

So each app server has an MDB configured to read messages from each queue managers local queue? i.e. One MDB class, 2 resource references, each bound to a local queue manager's instance of the queue.

Wouldn't this lead to the possibility of a specific message being consumed by more than one MDB, since both MDB's would be getting from the same queue?

Yes it would, but never at the same time.
Now all really depends on the handling of your poison message. If you have no handling in place, one by one your MDB's will stop as they try to process the poison message and fail.

If no poison message handling is in place (and bothresh is 0) the MDB will stop. To avoid taking messages while you fix the problem put-disable the queue. The cluster algorithm should then target the other available queues in the cluster.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Clustered MQ with Clustered WAS MDB - Configuration Question
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.