Author |
Message
|
chud |
Posted: Fri Nov 21, 2008 4:14 am Post subject: setting up two QMs on the same server |
|
|
Newbie
Joined: 21 Nov 2008 Posts: 5
|
Hi,
I'm new to MQ and trying to learn it asap! I have setup two queue managers as per the "Verifying a server-to-server installation" steps in the Quick Beginnings guide for Solaris. The only difference is I have had to create both queue managers on the same server.
I understand the concept of putting a message onto the local definition of the remote queue I want the message to go onto (and I am able to do this using ./amsput LOCAL.DEF.OF.REMOTE.QUEUE saturn.queue.manager) however when I use the ./amqsget ORANGE.QUEUE venus.queue.manager command to get messages on the receiver queue manager nothing is displayed.
I have also tried to get the messages on the sender queue using
./amqsget LOCAL.DEF.OF.REMOTE.QUEUE saturn.queue.manager
but I am getting an error "MQOPEN ended with reason code 2045" unable to open queue for input
I also get an error when trying to get the messages on the transmit queue on the sender queue manager
./amqsget TRANSMIT1.QUEUE saturn.queue.manager
MQOPEN ended with reason code 2042
unable to open queue for input
I am however able to put/get a message on a separate local queue on each queue manager.
Can anyone give me any pointers as to what the issue might be here?
Any help would be much appreciated.
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Fri Nov 21, 2008 4:37 am Post subject: Re: setting up two QMs on the same server |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
chud wrote: |
./amqsget LOCAL.DEF.OF.REMOTE.QUEUE saturn.queue.manager
but I am getting an error "MQOPEN ended with reason code 2045" unable to open queue for input |
This is normal - you can't open a remote queue for get
chud wrote: |
I also get an error when trying to get the messages on the transmit queue on the sender queue manager
./amqsget TRANSMIT1.QUEUE saturn.queue.manager
MQOPEN ended with reason code 2042
unable to open queue for input
|
This is also normal - the channel will be using the queue.
Have you checked the channels between the 2 queue managers are working? The fact that they're installed on the same box makes no actual difference and the instructions hold.
With the caveat that all the queue managers on a single box must listen on a unique port number. If you've allowed all the channels on both queue managers to use the default port settings, I've just found your problem.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
exerk |
Posted: Fri Nov 21, 2008 4:44 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Don't try to get messages from an XMITQ, and you cannot get from a QR (hence the MQRC 2045).
The message flow is as follows:
QR (QM1) -> XMITQ (QM1) -> SDR (QM1) <-> (QM2) RCVR -> QL (QM2)
Try this in queue manager SATURN:
Code: |
ALTER QL('<your XMITQ to VENUS') +
TRIGGER +
TRIGDATA('<your SENDER channel to VENUS') +
INITQ('SYSTEM.CHANNEL.INITQ') |
The above will trigger your channel to start, as I suspect that you do not have this set, and therefore the channels are not running. If you want to know more about triggering channels, read the Intercommunications Guide. _________________ 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 |
|
 |
chud |
Posted: Fri Nov 21, 2008 5:14 am Post subject: |
|
|
Newbie
Joined: 21 Nov 2008 Posts: 5
|
Thanks for the reply. That trigger stuff sounds useful!
I have confirmed both channels are started. The sending channel is using port 1415 and the listener on the receiving QM is listening on the same port number is this correct?
I have not specified a port number for the rcvr channel. I was of the understanding that the listener took care of this. |
|
Back to top |
|
 |
exerk |
Posted: Fri Nov 21, 2008 5:26 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
chud wrote: |
I have confirmed both channels are started. The sending channel is using port 1415 and the listener on the receiving QM is listening on the same port number is this correct? |
Yes...
chud wrote: |
I have not specified a port number for the rcvr channel. I was of the understanding that the listener took care of this. |
Correct...
Create a Dead-letter queue in VENUS and try again - a Dead-letter queue is always useful for initial troubleshooting.
Code: |
DEFINE QL(DEAD.LETTER.QUEUE)
ALTER QMGR +
DEADQ('DEAD.LETTER.QUEUE') |
If your message drops to the Dead-letter queue then examine the message to see why (the message will have an additional Dead-letter header). _________________ 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 |
|
 |
chud |
Posted: Fri Nov 21, 2008 5:28 am Post subject: |
|
|
Newbie
Joined: 21 Nov 2008 Posts: 5
|
Will do thanks  |
|
Back to top |
|
 |
Vitor |
Posted: Fri Nov 21, 2008 5:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
chud wrote: |
I have confirmed both channels are started. The sending channel is using port 1415 and the listener on the receiving QM is listening on the same port number is this correct?
|
The point I was trying to articulate is that (in the set up you describe here) the other queue manager can't use 1415 if it's on the same box while it could if running on a separate box.
In addition to the excellent suggestion of my associate, note that the channels also maintain a count of messages transfered. This can be an additional diagnostic aid. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
chud |
Posted: Fri Nov 21, 2008 6:36 am Post subject: |
|
|
Newbie
Joined: 21 Nov 2008 Posts: 5
|
Ok. I'm with you. This is strange though. I have setup dead letter queues on both QMs now and the sender one (saturn) is reurning no messages from the ./amqsget command and the receiver one (venus) is returning error code 2080. Where are my messages going? :?
Also, where can I see the count of messages transfered by a channel? I had a look in DISPLAY CHANNEL but I couldn't see anything useful there.
Thanks again |
|
Back to top |
|
 |
Vitor |
Posted: Fri Nov 21, 2008 6:47 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
chud wrote: |
... isreturning error code 2080. Where are my messages going? :? |
Have you looked up that error code? Also look carefully at the function which is returning that code, which should highlight what's happening to your messages.
Hint - these are only sample applications. Do they have limitations?
chud wrote: |
Also, where can I see the count of messages transfered by a channel? I had a look in DISPLAY CHANNEL but I couldn't see anything useful there.
|
Display the channel status rather than the channel.
I would also urge you to consider formal training on the product. While we're happy to answer specific questions, we're not a training resource and are not equipted to provide a decent learning experience.
Having said that, I'm not trying to discourage you from your course of discovery and experimentation. Just point out it's a long road, and one we're not well suited for. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
exerk |
Posted: Fri Nov 21, 2008 7:10 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
chud wrote: |
...the sender one (saturn) is reurning no messages from the ./amqsget command... |
Did you mean amqsput ?
chud wrote: |
...and the receiver one (venus) is returning error code 2080... |
IIRC the amqsget sample has a limitation of 100 bytes, hence the truncated message warning.
chud wrote: |
Where are my messages going? :? |
OK, in these circumstances it is best to do some step-by-step diagnosis, so:
1. Stop all channels from QM1 to QM2.
2. If the XMITQ to QM2 is triggered, turn off triggering.
3. Ensure the XMITQ is empty, the queue you are trying to send to is empty, and both queue managers Dead-letter queues are empty.
4. Put one message to the QR in QM1 and check the XMITQ depth increases from zero to one.
5. Start the SENDER channel to QM2.
6. Check the queue depth on the queue you expect it to go to and the Dead-letter queue.
And I agree with Vitor as regards training... _________________ 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 |
|
 |
chud |
Posted: Fri Nov 21, 2008 10:44 am Post subject: |
|
|
Newbie
Joined: 21 Nov 2008 Posts: 5
|
Doing some troubleshooting now. Really appreciate your help guys. Yeah I'm trying to arrange some training but I have a very tight deadline to learn this so I'm making use of all sources of information at the mo!
Thanks again  |
|
Back to top |
|
 |
|