Author |
Message
|
abc123_dc |
Posted: Tue Apr 26, 2005 6:31 pm Post subject: MQOPEN ended with reason code 2085 |
|
|
Newbie
Joined: 26 Apr 2005 Posts: 5
|
I am getting the following error...
$ ./amqsput SENDER.REMOTE.QUEUE
Sample AMQSPUT0 start
target queue is SENDER.REMOTE.QUEUE
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end
$
$ ./amqsput sender.remote.queue
$ amqsput sender.remote.queue
I have tried lower case remote queue name toooo....
My sample code is
crtmqm -q q_sender.queue.manager
strmqm q_sender.queue.manager
runmqsc q_sender.queue.manager
define qlocal (q_receiver.queue.manager) usage (xmitq) +
put (enabled) get (enabled)
define qremote (sender.remote.queue) rname (recv.queue) +
put(enabled) rqmname (q_receiver.queue.manager) xmitq (q_receiver.queue.manager)
define channel (FIRST.CHANNEL) chltype (sdr) +
conname ('172.16.4.21') xmitq (q_receiver.queue.manager) trptype (tcp)
end
crtmqm -q q_receiver.queue.manager
strmqm q_receiver.queue.manager
runmqlsr -t tcp -m &
runmqsc
define qlocal (recv.queue)
define channel (FIRST.CHANNEL) chltype (rcvr) trptype (tcp)
end
runmqchl -c FIRST.CHANNEL -m q_sender.queue.manager &
Everything is running on the Sun box. I got the above steps from the MQ 5.3 Installation Guide.
I will really appreciate any help. I have been trying to resolve this issue for last two days.
Thanks.
PS. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Apr 26, 2005 6:40 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
you seem to have 2 qmgrs on the same box.
Specify a port on the listener (runmqlsr)
Each qmgr should have it's own listener and port.
Specify the port on the channel on the conname:
conname('ipname(port#)')
Enjoy  |
|
Back to top |
|
 |
EddieA |
Posted: Tue Apr 26, 2005 8:55 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
crtmqm -q q_sender.queue.manager |
OK, so q_sender.queue.manager is the default QM.
Quote: |
crtmqm -q q_receiver.queue.manager |
Oooops. Now, q_receiver.queue.manager is the default QM.
Quote: |
amqsput SENDER.REMOTE.QUEUE |
So, you're trying to PUT to a queue on the default QM. Except that SENDER.REMOTE.QUEUE is on q_sender.queue.manager, which is no longer the default QM.
I would also suggest reading the Intercommunication Manual so you fully understand how to connect 2 QMs.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
abc123_dc |
Posted: Wed Apr 27, 2005 3:54 pm Post subject: MQOPEN ended with reason code 2085 |
|
|
Newbie
Joined: 26 Apr 2005 Posts: 5
|
I am creating both the queue managers on the same Sun box. I gave the port number on the sender's channel and I still get the same error msg. The port # 2001 & 1414 are not in use. I checked using netstat command.
Here are the steps which I executed...
crtmqm -q q_sender.queue.manager
strmqm q_sender.queue.manager
runmqsc q_sender.queue.manager
define qlocal (q_receiver.queue.manager) usage (xmitq) +
put (enabled) get (enabled)
define qremote (sender.remote.queue) rname (recv.queue) +
put(enabled) rqmname (q_receiver.queue.manager) xmitq (q_receiver.queue.manager)
define channel (first.channel) chltype (sdr) +
conname ('172.16.4.21(2001)') xmitq (q_receiver.queue.manager) trptype (tcp)
end
crtmqm -q q_receiver.queue.manager
strmqm q_receiver.queue.manager
runmqlsr -t tcp -m q_recevier.queue.manager -p 2001 &
runmqsc q_receiver.queue.manager
define qlocal (recv.queue)
define channel (first.channel) chltype (rcvr) trptype (tcp)
end
runmqlsr -t tcp -m q_sender.queue.manager &
runmqsc q_sender.queue.manager
ping channel(FIRST.CHANNEL)
AMQ8020: Ping WebSphere MQ channel complete.
end
runmqchl -c FIRST.CHANNEL -m q_sender.queue.manager &
$ netstat -a | grep 2001
*.2001 *.* 0 0 49152 0 LISTEN
sun.33204 sun.2001 49152 0 49152 0 ESTABLISHED
sun.2001 sun.33204 49152 0 49152 0 ESTABLISHED
$
$ amqsput sender.remote.queue
Sample AMQSPUT0 start
target queue is SENDER.REMOTE.QUEUE
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end
$
I am sure there is a way to test 2 queue manager on the same Sun box. Can anyone please advise me what am I doing WRONG?
I appreciate your help.
Thanks. |
|
Back to top |
|
 |
clindsey |
Posted: Wed Apr 27, 2005 4:42 pm Post subject: |
|
|
Knight
Joined: 12 Jul 2002 Posts: 586 Location: Dallas, Tx
|
Read Eddie's post again. He gave you the answer.
You are creating 2 queue managers with -q option. You can only have one default queue manager per server.
Include the queue manager name on the amqsput:
amqsput sender.remote.queue q_sender.queue.manager
Charlie |
|
Back to top |
|
 |
abc123_dc |
Posted: Wed Apr 27, 2005 6:39 pm Post subject: MQOPEN ended with reason code 2085 |
|
|
Newbie
Joined: 26 Apr 2005 Posts: 5
|
I appreciate your help. I did not know the meaning of -q option while creating a queue manager.
In crtmqm command, I got rid of -q option and now I don't get 2085 error msg. But I don't see any msg on the RECV.QUEUE. This is what I get...
$ amqsput SENDER.REMOTE.QUEUE q_sender.queue.manager
Sample AMQSPUT0 start
target queue is SENDER.REMOTE.QUEUE
Hi How are u
Sample AMQSPUT0 end
$ amqsget RECV.QUEUE q_receiver.queue.manager
Sample AMQSGET0 start
no more messages
Sample AMQSGET0 end
$
So where did the msg disappear?
Thanks for your help. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Apr 27, 2005 7:36 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Read the admin manual. You need to define a DLQ on each qmgr.
Then you can check what happened and the reason...
Even though your channel pinged , what is its status ? Is it running or retrying?? (Intercommunications manual)
Enjoy  |
|
Back to top |
|
 |
vennela |
Posted: Thu Apr 28, 2005 5:55 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
|
Back to top |
|
 |
JT |
Posted: Thu Apr 28, 2005 6:20 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Quote: |
So where did the msg disappear? |
Did you check the q_receiver.queue.manager xmitq? |
|
Back to top |
|
 |
abc123_dc |
Posted: Thu Apr 28, 2005 4:05 pm Post subject: MQOPEN ended with reason code 2085 |
|
|
Newbie
Joined: 26 Apr 2005 Posts: 5
|
I tried creating a DLQ by using the following commands...
crtmqm -u SENDER.DEAD.LETTER.QUEUE q_sender.queue.manager
crtmqm -u RECEIVER.DEAD.LETTER.QUEUE q_receiver.queue.manager
I don't see these queues created under
/var/mqm/qmgrs/q_sender!queue!manager/queues/
/var/mqm/qmgrs/q_receiver!queue!manager/queues/
They both have SYSTEM!DEAD!LETTER!QUEUE. And I don't see any error in the q file under SYSTEM!DEAD!LETTER!QUEUE. Infact, I don't see any errors in the q files under RECV!QUEUE, Q_RECEIVER!QUEUE!MANAGER and SENDER!REMOTE!QUEUE.
But when I run
runmqsc q_sender.queue.manager
display qmgr
end
I do see DEADQ(SENDER.DEAD.LETTER.QUEUE).
When I ping channel(first.channel) then I get back...
ping channel(first.channel)
1 : ping channel(first.channel)
AMQ8020: Ping WebSphere MQ channel complete.
And then I run
runmqchl -c FIRST.CHANNEL -m q_sender.queue.manager &
ping channel(first.channel)
2 : ping channel(first.channel)
AMQ9514: Channel 'FIRST.CHANNEL' is in use.
I still don't get any msg using
amqsget RECV.QUEUE q_receiver.queue.manager
Please let me know what else I can try to debug this problem.
Thanks for all the suggestions. |
|
Back to top |
|
 |
JT |
Posted: Thu Apr 28, 2005 7:45 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Quote: |
crtmqm -u SENDER.DEAD.LETTER.QUEUE q_sender.queue.manager
crtmqm -u RECEIVER.DEAD.LETTER.QUEUE q_receiver.queue.manager |
The -u parameter on the crtmqm command does not create the dead-letter queues for you. It merely designates SENDER.DEAD.LETTER.QUEUE & RECEIVER.DEAD.LETTER.QUEUE as the dead-letter queues for their respective queue managers. You need to manually create them, i.e. DEFINE QLOCAL(SENDER.DEAD.LETTER.QUEUE). |
|
Back to top |
|
 |
abc123_dc |
Posted: Sun May 01, 2005 2:03 pm Post subject: MQOPEN ended with reason code 2085 |
|
|
Newbie
Joined: 26 Apr 2005 Posts: 5
|
I created the DLQ by using the following definitions...
DEFINE QLOCAL(SENDER.DEAD.LETTER.QUEUE).
DEFINE QLOCAL(RECEIVER.DEAD.LETTER.QUEUE).
Then I created the queues using the following command..
crtmqm -u SENDER.DEAD.LETTER.QUEUE q_sender.queue.manager
crtmqm -u RECEIVER.DEAD.LETTER.QUEUE q_receiver.queue.manager
I don't see any error msg in the q file under SENDER!DEAD!LETTER!QUEUE or RECEIVER!DEAD!LETTER!QUEUE. I checked most of the q files and I don't see any error msg. All q files are 1620bytes in size.
I was successfully able to run the example mentioned in the following URL
http://www.mqseries.net/phpBB2/viewtopic.php?t=6802
Thanks vennela.
I still would like to know why I don't see the msg on the receiving side. Please let me know if you guys have some other suggestions.
Thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun May 01, 2005 7:20 pm Post subject: Re: MQOPEN ended with reason code 2085 |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
abc123_dc wrote: |
I created the DLQ by using the following definitions...
DEFINE QLOCAL(SENDER.DEAD.LETTER.QUEUE).
DEFINE QLOCAL(RECEIVER.DEAD.LETTER.QUEUE).
Then I created the queues using the following command..
crtmqm -u SENDER.DEAD.LETTER.QUEUE q_sender.queue.manager
crtmqm -u RECEIVER.DEAD.LETTER.QUEUE q_receiver.queue.manager
I don't see any error msg in the q file under SENDER!DEAD!LETTER!QUEUE or RECEIVER!DEAD!LETTER!QUEUE. I checked most of the q files and I don't see any error msg. All q files are 1620bytes in size.
I was successfully able to run the example mentioned in the following URL
http://www.mqseries.net/phpBB2/viewtopic.php?t=6802
Thanks vennela.
I still would like to know why I don't see the msg on the receiving side. Please let me know if you guys have some other suggestions.
Thanks. |
You have to forget looking all in the files.
You need to start using the MQ API's and runmqsc.
You cannot define a DLQ before creating the corresponding qmgr.
to check the qdepth : in runmqsc
Code: |
display qlocal(*) curdepth |
To browse messages locate the program (from memory) amqb*g could be amqbmsg and amqbmsgc for the client version...
Enjoy  |
|
Back to top |
|
 |
bower5932 |
Posted: Mon May 02, 2005 5:58 am Post subject: Re: MQOPEN ended with reason code 2085 |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
fjb_saper wrote: |
To browse messages locate the program (from memory) amqb*g could be amqbmsg and amqbmsgc for the client version... |
Try amqsbcg and amqsbcgC for browsing. |
|
Back to top |
|
 |
|