Author |
Message
|
mapa |
Posted: Wed Oct 05, 2011 2:07 am Post subject: Queuemanager alias |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
Hi, I just can't get this with queuemanger alias to work.
It is new for me and the aim is to be able to use the same script in test and prod (with some additonal extra supporting mqobjects in test like queuemanager alias).
For our cluster queues it is simple since we have a NAMELIST mapping from prodcluster to testcluster name.
The error I get is:
Code: |
Error opening queue 'BRK_QMGR/MY_REMOTE_QNAME' RC(2091) Xmit queue type error.
|
The mqsc is like this(omitting things like persistence for readability):
Code: |
#On the WMB7 qmgr BRK_QMGR
DEFINE QREMOTE(SYSXPROD) RQMNAME(SYSXTEST)
#Xmitq and sender/receiver channels is setup and working for SYSXTEST using a xmitq with the same name - SYSXTEST.
#The remotequeue
DEFINE QREMOTE(MY_REMOTE_QNAME) RNAME(THE_LOCAL_NAME) RQMNAME(SYSXPROD)
|
WMQ 7 info center - Queue manager alias definitions
Similar topic:
http://www.mqseries.net/phpBB2/viewtopic.php?t=2744
WMQ version is 7.0.1.4 on AIX. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Oct 05, 2011 5:50 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Since you mentioned cluster queues, do you want the queue-manager aliases to be part of the cluster? If so, include CLUSTER(clustername) in your definitions. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mapa |
Posted: Wed Oct 05, 2011 7:44 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
No, didn't think so atleast.
Background is that we are migrating from WMB 6.1 to 7.0 and introducing cluster at the same time where there will be two active-active brokers.
In this step we only share the broker input queues in the cluster.
On broker A "online" cluster queues have high clusterprio and on broker B "batch" cluster queues have high cluster prio.
Normal cluster queues will have medium cluster prio on both qmgrs.
Remote queues with qmgr aliases is only used on the broker qmgr.
Sending to broker is always via a local queue alias pointing to the cluster broker input queue.
An estimate is that 50-75% of go-live errors are due to mqsc-script typos between test and prod scripts...
An alternative is to use sed when creating the deploypackages for replacing remote qmgr names. Easier of course but not that pretty.
We are doing a bit too much at the same time as you can imagine. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 05, 2011 8:02 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Your QMGR alias definition will only work if SYSXTEST is part of the cluster.
If SYSXTEST is not part of the cluster you need to add the XMITQ to the RQ def.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mapa |
Posted: Wed Oct 05, 2011 9:36 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
fjb_saper wrote: |
Your QMGR alias definition will only work if SYSXTEST is part of the cluster.
If SYSXTEST is not part of the cluster you need to add the XMITQ to the RQ def.  |
Hmm, OK, can't see that this is mentioned in the intercommunication documentation regarding queue manager aliases.
I've tried to specify the XMITQ in the queue manager alias already, just tried again with same error.
Specifying SYSXTEST as the XMITQ on the RQ works, but then I've gained nothing. Then I am back with the same problem but now on xmitq name instead.
Or I will have to move away from the XMITQ name = remote QMGR name without it making sense?
Normally it is the integration infrastrucure team handling this but they are not ready yet and have not worked with queuemanger aliases before.
Update:
Added SYSXTEST to the cluster but that did not help. Same error. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Oct 05, 2011 10:10 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
mapa wrote: |
fjb_saper wrote: |
Your QMGR alias definition will only work if SYSXTEST is part of the cluster.
If SYSXTEST is not part of the cluster you need to add the XMITQ to the RQ def.  |
Hmm, OK, can't see that this is mentioned in the intercommunication documentation regarding queue manager aliases.
|
Look for cluster-related information in the WMQ Queue manager clusters manual (or InfoCenter).
A queue definition (including a qmgr-alias - a QRemote definition) can be part of a cluster, or not. If you want the definition be be visible to other cluster qmgrs, then include the CLUSTER(clustername) attribute on the definition. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
mapa |
Posted: Wed Oct 05, 2011 10:50 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
OK, should never have mentioned the cluster
Forget about the cluster for now, how do I get this to work for normal distributed queueing?
Could it be that I've misunderstood the usage?
I want to have a remote queue - REMOTE.QUEUE with RNAME(LOCAL.QUEUE) and RQMNAME(SYSXPROD)
Then in test I want SYSXPROD to resolve to the queuemanger SYSXTEST instead.
Don't think I found an example of this scenario?
Reading about defining queue parameters it is a bit unclear to me:
Quote: |
RQMNAME(string)
The name of the remote queue manager on which the queue RNAME is defined.
This parameter is supported only on remote queues.
If an application opens the local definition of a remote queue, RQMNAME must not be blank or the name of the local queue manager. When the open occurs, if XMITQ is blank there must be a local queue of this name, which is to be used as the transmission queue.
If this definition is used for a queue manager alias, RQMNAME is the name of the queue manager that is being aliased. It can be the name of the local queue manager. Otherwise, if XMITQ is blank, when the open occurs there must be a local queue of this name, which is to be used as the transmission queue.
If this definition is used for a reply-to alias, this name is the name of the queue manager that is to be the reply-to queue manager.
XMITQ(string)
The name of the transmission queue to be used for forwarding messages to the remote queue, for either a remote queue or for a queue manager alias definition.
This parameter is supported only on remote queues.
If XMITQ is blank, a queue with the same name as RQMNAME is used as the transmission queue.
This parameter is ignored if the definition is being used as a queue manager alias and RQMNAME is the name of the local queue manager.
It is also ignored if the definition is used as a reply-to queue alias definition.
|
|
|
Back to top |
|
 |
exerk |
Posted: Wed Oct 05, 2011 11:16 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
In queue manager SYSXTEST, do the following:
DEFINE QR('SYSXPROD') +
RNAME(' ') +
RQMNAME('SYSXTEST') +
XMITQ(' ') _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 05, 2011 11:21 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
exerk wrote: |
In queue manager SYSXTEST, do the following:
DEFINE QR('SYSXPROD') +
RNAME(' ') +
RQMNAME('SYSXTEST') +
XMITQ(' ') |
mapa wrote: |
The mqsc is like this(omitting things like persistence for readability):
[code]
#On the WMB7 qmgr BRK_QMGR
DEFINE QREMOTE(SYSXPROD) RQMNAME(SYSXTEST) |
Or did you mean to imply that it's a case issue, and that the use of quotes is strongly encouraged? |
|
Back to top |
|
 |
exerk |
Posted: Wed Oct 05, 2011 12:10 pm Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
mqjeff wrote: |
exerk wrote: |
In queue manager SYSXTEST, do the following:
DEFINE QR('SYSXPROD') +
RNAME(' ') +
RQMNAME('SYSXTEST') +
XMITQ(' ') |
mapa wrote: |
The mqsc is like this(omitting things like persistence for readability):
[code]
#On the WMB7 qmgr BRK_QMGR
DEFINE QREMOTE(SYSXPROD) RQMNAME(SYSXTEST) |
Or did you mean to imply that it's a case issue, and that the use of quotes is strongly encouraged? |
Out of habit I tend to quote enclose - if it's good enough for MS03 to do it, it's good enough for me! I wasn't making any assumptions that the OP had left the RNAME and XMITQ attributes blank. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 05, 2011 12:56 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I have to amend my previous post...
Quote: |
Your QMGR alias definition will only work if SYSXTEST is part of the cluster.
If SYSXTEST is not part of the cluster you need to add the XMITQ to the RQ def. |
Should really have read with the following addendum:
Or if the alias definition is made on the SYSXTEST qmgr.
Otherwise it really needs the XMITQ.
Sorry for the confusion.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mapa |
Posted: Fri Oct 07, 2011 10:35 am Post subject: |
|
|
 Master
Joined: 09 Aug 2001 Posts: 257 Location: Malmö, Sweden
|
Here is how I ended up:
I skipped qmgr aliases.
For remote queues I made a TEMPLATE.REMOTE.SYSXPROD with only attribute remote qmgr name and then used LIKE when defining the remote queues. In test the template points to SYSXTEST.
Drawback is that they need to exist also in production as well.
I didn't know that I no longer need the distributed xmitq as remote qmgr and sender/receiver channel pair when they are in the same cluster.
But the final solution is to replace the remote queues going out from broker to local app qmgrs where we dont own target queue to:
Code: |
qalias on broker --> cluster alias on app qmgr --> local queue on app qmgr
|
|
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Oct 07, 2011 2:11 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
mapa wrote: |
I didn't know that I no longer need the distributed xmitq as remote qmgr and sender/receiver channel pair when they are in the same cluster.
|
Time to get some training. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|