Title: Message
Hi Tony,
 
Have you considered adding clustered aliases to your TEST.QUEUE's, e.g. PARTICULAR.TEST.QUEUE.  That way your consumers can get their messages from a single queue, even when the producer wanted a particular destination.  It also gives you the option of scaling up a location or region's resources by having multiple aliases with the same name.  You also get the opportunity of naming the aliases with qualifiers that are meaningful in business terms, rather than MQ admin terms.  It is also clean JMS.
 
Alan
-----Original Message-----
From: MQSeries List [mailto:[EMAIL PROTECTED] On Behalf Of Wyatt, T Rob
Sent: 29 November 2004 17:29
To: [EMAIL PROTECTED]
Subject: Re: Clustering Question

Funny but we just had this conversation in our team meeting today except it was about JMS and Pub/Sub.  My colleague was explaining that JMS requires a one-to-one correspondence between JNDI managed objects and potential destinations.  So a cluster queue defined in JNDI is known to JMS as a single destination, no matter how many instances of the queue exist.  OR...you can have a different JNDI object for each combination of QMgr/Queue, even though the queues all have the same name.  What you cannot do, apparently, is open a JNDI object and dynamically specify the QMgr part of the destination because "QMgr" is an MQ construct is not part of the JMS spec.
 
So if my colleague is correct (and we are still pretty new to JMS over here so I'll be the first to admit this may be a much deeper issue), you either need to create a separate JNDI object for each possible destination queue, or use a solution that is not pure JMS.  I'll be interested to see if anyone else has a solution that works within JMS and does not require all the JNDI objects because it might help us with our Pub/Sub problem.
 
-- T.Rob
-----Original Message-----
From: MQSeries List [mailto:[EMAIL PROTECTED]On Behalf Of Bender, Alan
Sent: Monday, November 29, 2004 11:44 AM
To: [EMAIL PROTECTED]
Subject: Re: Clustering Question

Sorry, I made a poor assumption, I should know better.  We may do it differently than Tony has in mind.  Our online app is on the WAS server and we always connect to the same QMGR with JMS.  Then based on customer number, or some other factor that determines where an order is filled we send the Queue messages to the correct queue.  It is at that point we require a unique queue name as any reference to the receiving queue manager name in the message header will, no can but will, cause the 2085 error message.  I don't understand your reference to round robining as the original question asked about sending a message to a unique queue.

 

Alan

 


From: MQSeries List [mailto:[EMAIL PROTECTED] On Behalf Of Potkay, Peter M (ISD, IT)
Sent: Monday, November 29, 2004 10:24 AM
To: [EMAIL PROTECTED]
Subject: Re: Clustering Question

 

You should use the QMGR name attribute of the queue object, and populate it with the name of a QM in the cluster that does host the queue. If you choose a QM that does not have the queue, you will get the 2085. If you populate it with the local QM name, you lose round robining if the local QM hosts that queue, or 2085 if it does not.

You don't need to make different q names on all your clustered QMs.

 

 

-----Original Message-----
From: MQSeries List [mailto:[EMAIL PROTECTED]On Behalf Of Bender, Alan
Sent: Monday, November 29, 2004 11:17 AM
To: [EMAIL PROTECTED]
Subject: Re: Clustering Question

Tony,

We have an application running with the same component versions.  You must remember that in a cluster containing multiple copies of the same Queue name the cluster will load balance.  We have also noted that with the JMS client connection if the QMGR name is used in the JMS configuration we get the dreaded 2085 error code MQRC_UNKNOWN_OBJECT_NAME.  What we have done is to append the Queue name with the, in our case, division number. (example: TEST.QUEUE.012).  That way you have a unique queue.  This may seem simplistic but it does work.

Alan


From: MQSeries List [mailto:[EMAIL PROTECTED] On Behalf Of Tony.Allison
Sent: Monday, November 29, 2004 9:53 AM
To: [EMAIL PROTECTED]
Subject: Clustering Question

 

Good morning everyone...

 

I think I am having a brain meltdown....  Here is what we are trying to accomplish.

 

Components:
1. WAS 5.1
2. Websphere MQ 5.3.0.8

 

1370 queue managers in single cluster.  WAS application running with client connection to central queue manager needs to send a single message to one queue manager in the cluster.  (There are 1364 instances of for example (TEST.QUEUE)  One on each of the queue managers in the cluster.  The queue managers are broken down into two categories (HQ and Stores) all stores queue managers are distributed across the country and each have a unique name.

 

My question is, How can my local HQ application running on WAS put a message to a specific queue manager within the cluster?

 

I know each MQ object has a unique name (Object Name / Object QMGR Name)  Where in the JMS code can we put the specific name?

 

Thanks for any input you can provide.

 

Thanks

 

Tony Allison

Technical Architect

Target Technology Services

Enterprise Tools / Middleware

33 South 6th Street

11th Floor / Cube 11240

Minneapolis, MN

Direct (612) 304-3740

Cell Phone (612) 306-0487

E-Mail: [EMAIL PROTECTED]

 

 



This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If
you are not the intended recipient, please notify the sender
immediately by return email and delete this communication and destroy all copies.

Reply via email to