Author |
Message
|
dwitherspoon |
Posted: Fri Jun 03, 2005 12:12 pm Post subject: PCF and clustered queues |
|
|
 Acolyte
Joined: 09 Dec 2003 Posts: 59
|
Hi there,
Ran into something new today...I use PCF to tell if certain required queues exist before I start processing messages. Until now, these have always been local queues. But now we've stepped into clustered queue managers, and one of the queues that I write to is a clustered queue that actually lives on another queue manager.
I can write to that queue with no problems, but PCF tells me the queue doesn't exist.
Is there a trick to getting PCF to report on a clustered queue? _________________ Good...Fast...Cheap. Choose any two. |
|
Back to top |
|
 |
EddieA |
Posted: Fri Jun 03, 2005 12:52 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
What Q type are you asking for.
If the QM you are sending the PCFs to is a partial repository, then it will only know about the queue after an application has tried to PUT to it. I don't think there's any way you can force PCF to get the information before that happens.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 03, 2005 1:38 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
This is a lot of extra work to avoid getting a bad return code the first time you try and open a queue. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jun 03, 2005 5:35 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
jefflowrey wrote: |
This is a lot of extra work to avoid getting a bad return code the first time you try and open a queue. |
I agree. Just go with it and handle the return code and the exception appropriately.
If you "need" the information for discovery, you should really access one of the full repositories in the cluster. They will have the information about which queues are clustered and which queue managers carry an instance of the clustered queues.
Enjoy  |
|
Back to top |
|
 |
dwitherspoon |
Posted: Sun Jun 05, 2005 4:43 pm Post subject: |
|
|
 Acolyte
Joined: 09 Dec 2003 Posts: 59
|
Yes, it is a little extra work. But the thing is, if a message comes through 4 days after the application has been started, and the application needs to route the message to a clustered queue, I don't want to find out then that the clustered queue isn't accessible. They'll wind up calling me to figure out what's wrong, and it'll undoubtedly be 2 in the morning.
But if I can tell at startup that all my needed queues aren't there, then my app can get somebody's attention to it then, rather than before we have a real message.
Just a difference in style, I guess. Maybe I'll try sending a test message at startup. _________________ Good...Fast...Cheap. Choose any two. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Sun Jun 05, 2005 8:31 pm Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
One of my customers had an application working with cluster queues.
What they did to verify that the required cluster queues are available was an mqopen / mqclose. _________________ Regards, Butcher |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 06, 2005 3:01 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Yes, like I said, it's easier to just open the queue - if it fails with a return code that indicates the queue doesn't exist, then do what you'd do if the PCF came back and said "the queue doesn't exist".
Remember, also, working with PCF that it's similar to working with runmqsc - you probably have to do the equivalent of "dis qcluster(ABCD)" rather than "dis qlocal(ABCD)". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
dwitherspoon |
Posted: Tue Jun 07, 2005 4:19 am Post subject: |
|
|
 Acolyte
Joined: 09 Dec 2003 Posts: 59
|
Good tip. Thanks much! _________________ Good...Fast...Cheap. Choose any two. |
|
Back to top |
|
 |
|