|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Queue Manager Alias & Alias Queue definition question |
« View previous topic :: View next topic » |
Author |
Message
|
jconway |
Posted: Mon Oct 06, 2003 6:25 am Post subject: Queue Manager Alias & Alias Queue definition question |
|
|
Novice
Joined: 28 Apr 2003 Posts: 17 Location: Paris, France
|
Hello all,
I am using a Queue Manager Alias (ie. a Remote Queue definition with a blank RNAME, RQMNAME = destination QMGR name & XMITTQ set to the transmission queue I want to use).
It doesn't seem to be possible to use an Alias Queue definition for this type of Remote Queue definition.
My understanding is that when name resolution occurs the Queue Manager checks whether a Queue exists with the same name as the Queue Manager Name supplied in the MQOPEN call. This works fine for me.
However when I try to add an extra level of abstraction by using an Alias Queue Name (with TARGQ set to the Remote Queue ie. the Queue Manager Alias definition) instead of the Remote Queue name as the Queue Manager name in the MQOPEN call, it fails (AMQS2070).
Does anyone know for sure if this is normal?
Does name resolution, in this case, just look through Remote Queue Definitions for a name matching the Queue Manager name in the MQOPEN or should it also check through the Queue Alias definitions to see if it resolves to a Remote Queue (Queue Manager Alias) definition?
Put briefly .. can I use a Queue Alias name which points to a Queue Manager Alias definition on an MQOPEN call, or does Queue Alias name resolution not work for this particular scenario ?
Thanks.
Jim. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Oct 06, 2003 7:45 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
What are you trying to abstract from your application?
The name of the remote queue? The name of the remote queue manager? Both?
A standard Remote Queue definition acts as an alias queue all by itself. The name of the remote queue definition does not have to be the same as the name of the local queue on the remote queue manager.
A queue manager alias is really used to simplify management. But it does end up getting rid of the 'aliasing' feature of a regular remote queue definition. If you set up a queue manager alias, you don't have to set up any queue-specific remote queue definitions.
Using a queue manager alias means that resolution of the queue name will happen on the remote queue manager, not the local queue manager.
If you want an application to use a different queue name than the real queue name on the remote queue manager, you have two choices. Set up a queue-specific remote queue definition on the local queue manager, or set up a queue-specific alias on the remote queue manager. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jconway |
Posted: Mon Oct 06, 2003 8:44 am Post subject: |
|
|
Novice
Joined: 28 Apr 2003 Posts: 17 Location: Paris, France
|
Hi
Thank you for your prompt reply. I should have explained my situation more clearly.
I wrote a MQSeries multi-task server on MVS. This listens on several queues for incoming requests, processes the requests and returns replies to the reply to queue manager and the reply to queue specified in the original request.
Originally the incoming request specified the ReplyToQueue and ReplyToQmgr. The ReplyToQmgr was the actual name of the remote Queue Manager and I had a Transmission Queue of the same name. This worked fine.
Then I needed to seperate my server's flux from other application fluxes using this transmission queue and its associated Sender channel.
In order to do this the incoming requests contained the ReplyToQueue name as before and the name of an Alias Queue Manager object (ie.A Remote Queue definition containing my new transmission queue).
Again, this worked perfectly. My server PUT the reply to the Alias Queue Manager definition which went to my new transmission queue and off over my new Sender channel to the ReplyToQmgr.
Due to the naming conventions we use here the name I have to use for this Alias Queue Manager object is large and cumbersome. It looks something like this : QM1.QR.SERVER.TEST.REPLIES
I didn't want the requester to have any knowledge of real object names on the queue manager where my server is, and I also wanted to provide a simpler ReplyToQmgr name for them to use in their request messages ... so, my idea was to define an Alias Queue (called, let's say, TEST.REPLIES) which pointed to the Alias Queue Manager (ie. the Remote Queue definition QM1.QR.SERVER.TEST.REPLIES) which the requester could specify in their request message instead of the actual (cumbersome) name of the Remote Queue.
This however did not work. The OPEN failed as I described earlier. It seems that there is no way of using an Alias Queue name instead of the real Remote Queue object name in the ReplyToQmgr field of the request message.
This tends to go against the golden rule of not allowing applications (which my server is) to have direct access to an object but to always have an application use Alias Queue names (even though technically this Remote Queue/Alias Queue Manager is not a Queue per se but more of a redirection to a Queue).
Maybe it is possible and there is something wrong with the definitions I've put in place. I'm still trying to see. But if you know that this is "normal" functioning of MQSeries regarding name resolution then I'd love to know. In that case I'll break our naming rules for this particular scenario.
Thanks a million for your help.
Jim. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Oct 06, 2003 9:23 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Okay. I think I know what you're trying to do.
Try creating a new queue manager alias called TEST.REPLIES instead.
I don't know for sure if it will work or not.
But I'm almost positive you can't do it with an Alias Queue that points to a remote definition. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jconway |
Posted: Mon Oct 06, 2003 9:41 am Post subject: |
|
|
Novice
Joined: 28 Apr 2003 Posts: 17 Location: Paris, France
|
Hi again,
Yep .. that works fine .... looks like I'll have to break our in-house object naming convention. A small price to pay for the advantages of using Queue Manager Aliases.
Again, thanks very much for your interest and advice.
Take care,
Jim. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|