Author |
Message
|
ankurlodhi |
Posted: Fri Jan 10, 2014 5:46 am Post subject: remote queue name error |
|
|
Master
Joined: 19 Oct 2010 Posts: 266
|
I am trying to route messages into a cluster from a queue manager which is not a part of cluster
GATEWAY is the name of the queue manager which is not the part of queue manager.
QM1 is the queue manager which is a full repository in cluster.
QM2 is another queue manager of the cluster
made the following setup for this
DEFINE CHANNEL(FROM.GATEWAY) CHLTYPE(SDR) CONNAME('LOCALHOST(1515)') XMITQ(QM1)
3 : DEFINE CHANNEL(FROM.GATEWAY) CHLTYPE(SDR) CONNAME('LOCALHOST(1515)') XMITQ(QM1)
AMQ8014: WebSphere MQ channel created.
DEFINE CHANNEL(FROM.QM1) CHLTYPE(RCVR)
4 : DEFINE CHANNEL(FROM.QM1) CHLTYPE(RCVR)
AMQ8014: WebSphere MQ channel created.
DEFINE QLOCAL(QM1) USAGE(XMITQ)
5 : DEFINE QLOCAL(QM1) USAGE(XMITQ)
AMQ8006: WebSphere MQ queue created.
DEFINE QREMOTE(QM2) RNAME('') RQMNAME(QM2)
6 : DEFINE QREMOTE(QM2) RNAME('') RQMNAME(QM2)
AMQ8006: WebSphere MQ queue created.
START CHANNEL(FROM.GATEWAY)
7 : START CHANNEL(FROM.GATEWAY)
AMQ8018: Start WebSphere MQ channel accepted.
DIS CHS(*)
8 : DIS CHS(*)
AMQ8417: Display Channel Status details.
CHANNEL(FROM.GATEWAY) CHLTYPE(SDR)
CONNAME(127.0.0.1(1515)) CURRENT
RQMNAME(QM1) STATUS(RUNNING)
SUBSTATE(MQGET) XMITQ(QM1)
after this when i try to open the remote queue i get the below error
-bash-4.1$ amqsput QM2 GATEWAY
Sample AMQSPUT0 start
target queue is QM2
MQOPEN ended with reason code 2184
unable to open queue for output
Sample AMQSPUT0 end
MQRC_REMOTE_Q_NAME_ERROR |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Jan 10, 2014 6:34 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Specify the queuene in the RNAME parm in your QR 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 |
|
 |
ankurlodhi |
Posted: Fri Jan 10, 2014 7:03 am Post subject: |
|
|
Master
Joined: 19 Oct 2010 Posts: 266
|
i am trying to make a queue manager alias out of that
is that a mistake.  |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Jan 10, 2014 7:34 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
A QRemote definition can be used as a queue-manager-alias in order to resolve a queuemanager name.
But, the error you are receiving is telling you that you did not specify the queuename in your QRemote definition, not the qmgr name.
A queuename must be specified so that the qmgr can build an XQH (transmission queue header). The XQH is part of the payload placed in a transmission queue. The XQH is used for routing the message down the network. It tells the down-stream qmgr the name of the queue where the message is to be MQPUT. What queue is the message destined for? That is the queuename that you must specify in the RNAME('queuename') attribute of the QRemote 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 |
|
 |
PeterPotkay |
Posted: Fri Jan 10, 2014 7:52 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Queue Manager Alias definitions do not specify a RNAME.
You can't put a message into a Queue Manager Alias queue.
Which QM did you run all those commands on?
What exactly is your intention with that amqsput command?
Which QM do you want to connect to?
Which queue do you want to send to?
Which QM hosts the local definition of that queue? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Jan 10, 2014 7:59 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Jan 10, 2014 9:14 am Post subject: Re: remote queue name error |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Your command
ankurlodhi wrote: |
-bash-4.1$ amqsput QM2 GATEWAY
Sample AMQSPUT0 start
target queue is QM2
MQOPEN ended with reason code 2184
unable to open queue for output
Sample AMQSPUT0 end
MQRC_REMOTE_Q_NAME_ERROR |
The first parameter passed to amqsput is the queuename; the second parameter is the name of the queue-manager that the amqsput program will attempt to connect to.
So, in your use of amqsput, there must be a queue definition 'QM2' on GATEWAY queue manager.
Is there a QM2 queue definition on GATEWAY queue manager? And, more importantly, does that QM2 queue definition have an RNAME attribute that names the local queue where the messages are to be MQPUT? Apparently not, given the error you received. _________________ 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 |
|
 |
PeterPotkay |
Posted: Fri Jan 10, 2014 9:48 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
And even more importantly, does "QM2" represent a legitimate MQ queue that you should be putting messages into. If yes, it would be a very unconventional name for a queue to have that was meant to be the target for app messages. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
ankurlodhi |
Posted: Mon Jan 13, 2014 4:08 am Post subject: |
|
|
Master
Joined: 19 Oct 2010 Posts: 266
|
PeterPotkay wrote: |
Queue Manager Alias definitions do not specify a RNAME.
You can't put a message into a Queue Manager Alias queue.
Which QM did you run all those commands on?
What exactly is your intention with that amqsput command?
Which QM do you want to connect to?
Which queue do you want to send to?
Which QM hosts the local definition of that queue? |
I am trying to put messages into a cluster from a queue manager which is outside the cluster.
i am trying to connect to QM2
The queue i am trying to put message on is 'FINAL' on QM2
I looked this up on infocenter and i found the correct way to do it, and i now i know how to setup a communication between two clusters using the queue manager alias technique..
Thanks for your input. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Jan 13, 2014 5:38 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Please post your solution for the benefit of others. _________________ 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 |
|
 |
ankurlodhi |
Posted: Mon Jan 13, 2014 7:56 am Post subject: |
|
|
Master
Joined: 19 Oct 2010 Posts: 266
|
solution was very simple ..
I just made an XMITQ with the name of the queue manager(QM1) which is holding the receiver channel inside the cluster.
and made a QREMOTE with the full defination i.e with RNAME (FINALQ) and destination QMGR(QM2)
DEFINE QLOCAL(QM1) USAGE(XMITQ)
DEFINE QREMOTE(REMOTE.TO.QM2) RNAME(FINALQ) RQMNAME(QM2)
and it worked.
if we replace the destination queue with an alias queue and point it to a cluster queue, then we can also perform workload managment in the cluster. |
|
Back to top |
|
 |
|