Author |
Message
|
mqjava |
Posted: Mon Dec 19, 2011 12:59 pm Post subject: unkown alias base queue error |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
Hi All,
I have three qm's - QM1, QM2, QM3 all are in same cluster TEST.CLUSTER.
Queue definitions in QM1:
ALIAS.A is a alias queue for which target queue is QM2.ALIAS.QUEUE
Queue definitions in QM2:
QM2.ALIAS.QUEUE is a cluster alias queue in cluster TEST.CLUSTER which points to QM3.LOCAL.QUEUE
Queue definitions in QM3:
QM3.LOCAL.QUEUE is local queue in cluster TEST.CLUSTER
I want to put message to QM3.LOCAL.QUEUE from QM1.
One way is i can directly open the queue QM3.LOCAL.QUEUE from QM1 since all the queues are in same cluster.
But i want to send the message to QM3.LOCAL.QUEUE by putting the message on ALIAS.A on QM1, when i put the message on ALIAS.A on QM1 it goes to QM2 dead letter queue with reason unknown alias base queue, how can i make this configuration work.
Thanks in advance. |
|
Back to top |
|
 |
vennela |
Posted: Mon Dec 19, 2011 1:41 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
The question is not clear
I don't understand which is local queue, which one is remote etc
Can you be more clearer |
|
Back to top |
|
 |
mqjava |
Posted: Mon Dec 19, 2011 2:00 pm Post subject: |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
Hi,
The queue definitions are as below:
Queue definitions in QM1:
ALIAS.A is a alias queue for which target queue is QM2.ALIAS.QUEUE
Queue definitions in QM2:
QM2.ALIAS.QUEUE is a alias queue in cluster TEST.CLUSTER for which target queue is QM3.LOCAL.QUEUE
Queue definitions in QM3:
QM3.LOCAL.QUEUE is local queue in cluster TEST.CLUSTER
Thanks. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Dec 19, 2011 3:30 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
mqjava wrote: |
Hi,
The queue definitions are as below:
Queue definitions in QM1:
ALIAS.A is a alias queue for which target queue is QM2.ALIAS.QUEUE
Queue definitions in QM2:
QM2.ALIAS.QUEUE is a alias queue in cluster TEST.CLUSTER for which target queue is QM3.LOCAL.QUEUE
Queue definitions in QM3:
QM3.LOCAL.QUEUE is local queue in cluster TEST.CLUSTER
Thanks. |
A quick read of the WMQ MQSC manual will tell you that the TARGET of a QAlias definition can be a QLocal or a QRemote definition. The TARGET of a QAlias cannot be another QAlias 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 |
|
 |
mqjava |
Posted: Mon Dec 19, 2011 4:40 pm Post subject: |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
Thanks for the reply bruce.
Can we point a remote queue to a cluster queue.
Thanks. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Dec 19, 2011 9:30 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
What happens when you try it _________________ 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 |
|
 |
mqjava |
Posted: Tue Dec 20, 2011 7:11 am Post subject: |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
I tried the below things:
Scenario 1:
QM1 and QM2 are member of cluster TEST.CLUSTER.
QM1 definitions:
def qr(TEST.IN) rname(TEST.OUT)
QM2 definitions:
def ql(TEST.OUT) cluster(TEST.CLUSTER)
Result:
When tried to open the cluster queue its success:
/opt/mqm/samp/bin/amqsput TEST.OUT QM1
Sample AMQSPUT0 start
target queue is TEST.OUT
Sample AMQSPUT0 end
When tried to open the remote queue its failed:
/opt/mqm/samp/bin/amqsput TEST.IN QM1
Sample AMQSPUT0 start
target queue is TEST.IN
MQOPEN ended with reason code 2087
unable to open queue for output
Sample AMQSPUT0 end
Scenario 2:
QM1 and QM2 are member of cluster TEST.CLUSTER.
QM1 definitions:
alter qr(TEST.IN) RQMNAME(SOMEDUMMYNAME)
def qr(SOMEDUMMYNAME)
QM2 definitions:
def ql(TEST.OUT) cluster(TEST.CLUSTER)
Result:
/opt/mqm/samp/bin/amqsput TEST.IN QM1
Sample AMQSPUT0 start
target queue is TEST.IN
MQOPEN ended with reason code 2091
unable to open queue for output
Sample AMQSPUT0 end
Can you please let me know why i am getting 2091. If the cluster queue TEST.IN is in multiple locations i want the load balance also to occur. I know if i create a alias queue and target it to TEST.OUT it will work, but want to make this work with remote queue definitions.
Thanks. [/u] |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Dec 20, 2011 7:19 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
What does the ReasonCode 2091 tell you? ReasonCodes are well-documented.
Go to Google. Type mqrc 2091.
The explanation is succinct as to the cause of the 2091.
Please do basic research (reading, searching, testing) before you post. _________________ 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 |
|
 |
mqjava |
Posted: Tue Dec 20, 2011 7:38 am Post subject: |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
i was not able to figure out, that was the reason i came here.
********************************************************************************
Reason Code 2091 x82B MQRC_XMIT_Q_TYPE_ERROR
On an MQOPEN or MQPUT1 call, a message is to be sent to a remote queue
manager. The ObjectName or ObjectQMgrName field in the object descriptor
specifies the name of a local definition of a remote queue but one of the
following applies to the XmitQName attribute of the definition:
* XmitQName is not blank, but specifies a queue that is not a local queue
* XmitQName is blank, but RemoteQMgrName specifies a queue that is not a local
queue
Can anyone please let me know how to fix it. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Dec 20, 2011 7:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjava wrote: |
i was not able to figure out |
Not figure out what?
Your definitions (specifically the XMITQ name) is hosed up. Mostly because there's nothing (I assume) called SOMEDUMMYNAME in your estate.
mqjava wrote: |
Can anyone please let me know how to fix it. |
Don't make random definition changes in the hope the magic will turn up? Think about what you're doing, what you're trying to achieve and how to explain this to WMQ in such a way the name resolution will succeed?
Other suggestions are undoubtably possible. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Dec 20, 2011 12:09 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
I'll help just a bit more.
Look in the MQRC manual how to successfully define a QRemote. Look at all of the possible parameters. Look for a parameter that seems related in some way to a transmission queue. Then ponder why you got the r/c you did. _________________ 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 |
|
 |
fjb_saper |
Posted: Tue Dec 20, 2011 1:51 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
bruce2359 wrote: |
I'll help just a bit more.
Look in the MQRC manual how to successfully define a QRemote. Look at all of the possible parameters. Look for a parameter that seems related in some way to a transmission queue. Then ponder why you got the r/c you did. |
Also read the cluster manual and the intercommunication manual and find out why you first got a RC=2087...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjava |
Posted: Wed Dec 21, 2011 11:57 am Post subject: |
|
|
 Voyager
Joined: 25 May 2009 Posts: 80 Location: New Jersey
|
Thanks for the reply fjb_saper and bruce2359.
I tried to specify the transmit queue as SCTQ and tried but it didnt work. Messages got stuck in the SCTQ.
I have come to a conclusion that this doesnt work. But this is what i was trying to achieve - "Put to cluster queue with load balance by opening a remote queue instead of alias queue"
Thanks for the help. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Dec 21, 2011 12:04 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjava wrote: |
I tried to specify the transmit queue as SCTQ and tried but it didnt work. Messages got stuck in the SCTQ. |
How strange & unexpected.
mqjava wrote: |
I have come to a conclusion that this doesnt work. |
You probably want to raise an enhancement request with IBM to have it added to a future version. _________________ Honesty is the best policy.
Insanity is the best defence.
Last edited by Vitor on Wed Dec 21, 2011 12:09 pm; edited 1 time in total |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Dec 21, 2011 12:08 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
You are making this more complicated than it needs to be.
If the queue that you are attempting to put a message to is known to the cluster, you don't need a QRemote or QAlias definition.
If the queue is defined like this: DEF QL(MYQUEUE) CLUSTER(MYCLUSTER); then all you need to do is amqsput(c) MYQUEUE queuemangername
The name resolution process will discover the location of the queue, if not local to the queuemanagername; and the message will be sent to the system cluster transmission queue for you.
Please, oh please, get some training on WMQ. _________________ 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 |
|
 |
|