ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ Installation/Configuration SupportConfigure Queue Manager Channels on IBM MQ

Post new topicReply to topic
Configure Queue Manager Channels on IBM MQ View previous topic :: View next topic
Author Message
roldor
PostPosted: Thu Oct 08, 2020 2:25 am Post subject: Configure Queue Manager Channels on IBM MQ Reply with quote

Newbie

Joined: 08 Oct 2020
Posts: 2

Hi, everyone

We are trying to configure two IBM MQ servers so that they share a Queue. We configure both Queue manager channels, one as Sender and one as Receiver.

On the sender side, we configure a queue as Transmission. On the receiver side we configure a queue with the same name and Normal.

When we publish a message to the sender queue, the message is sent to the dead letter queue.

Code:
2020-10-08T10:12:31.713Z AMQ9548W: Message put to the local 'dead-letter queue'.


We enabled trace level on logs but we are not able to see the problem.

What are we missing?

Thanks in advance,

Regards
Back to top
View user's profile Send private message
exerk
PostPosted: Thu Oct 08, 2020 2:42 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6201

Your object definitions should look like the following:

Sending Queue Manager

Code:
DEFINE QREMOTE('MYQUEUE') +
   RQMNAME('<receiving queue manager name>') +
   RNAME('MYQUEUE') +
   XMITQ('<receiving queue manager name>')

DEFINE QLOCAL('<receiving queue manager name>') +
   INITQ('SYSTEM.CHANNEL.INITQ') +
   TRIGGER +
   TRIGDATA('<your channel name>') +
   USAGE(XMITQ)


Receiving Queue Manager

Code:
DEFINE QLOCAL('MYQUEUE')


I suspect that you have not defined a queue in the receiving queue manager, of the same name in the RNAME attribute of the QREMOTE in the sending queue manager.

It would also be helpful if you stated in which queue manager the message was put to the Dead-letter queue, just for clarity.

Please note, your transmission queue (XMITQ) may be named differently - it is just convention to name an XMITQ the same as the receiving queue manager, for name-resolution purposes. Also, your QREMOTE object symbolic name does not have to match the RNAME value but the RNAME attribute must match the name of an object in the receiving queue manager.
_________________
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
View user's profile Send private message
bruce2359
PostPosted: Thu Oct 08, 2020 4:55 am Post subject: Re: Configure Queue Manager Channels on IBM MQ Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8795
Location: US: west coast, almost. Otherwise, enroute.

roldor wrote:
... share a Queue.
What do you mean by 'share a queue'? Do you mean that you want a message created on the sender qmgr to flow across the channel to a destination queue on another qmgr?
roldor wrote:
We are trying to configure two IBM MQ servers so that they share a Queue. We configure both Queue manager channels, one as Sender and one as Receiver.

Instead of telling us what you've done, please show us what you've done. Please post here all the object definitions you've created.
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Thu Oct 08, 2020 3:21 pm Post subject: Re: Configure Queue Manager Channels on IBM MQ Reply with quote

Jedi

Joined: 25 Mar 2003
Posts: 2173
Location: Melbourne, Australia

roldor wrote:
Hi, everyone
We are trying to configure two IBM MQ servers so that they share a Queue. We configure both Queue manager channels, one as Sender and one as Receiver.
On the sender side, we configure a queue as Transmission. On the receiver side we configure a queue with the same name and Normal.
When we publish a message to the sender queue, the message is sent to the dead letter queue.
Code:
2020-10-08T10:12:31.713Z AMQ9548W: Message put to the local 'dead-letter queue'.

We enabled trace level on logs but we are not able to see the problem.
What are we missing?
Thanks in advance,
Regards

Hi Roldor, welcome to the forum. You are missing an understanding of how sender / receiver channels work. Your intentions are good, but the plumbing is not quite correct. Also, your usage of "share" is not really appropriate in this use case of MQ. Your requirement is more along the lines of "route messages from one qmgr to another qmgr".

Quote:
On the receiver side we configure a queue with the same name and Normal.

No, it must not be the same name as the transmission queue. It is the name of your application queue eg. MYAPP.REQUEST.Q.

exerk has posted correct suggestions for defining queues.
_________________
Glenn
Back to top
View user's profile Send private message
roldor
PostPosted: Fri Oct 09, 2020 12:32 am Post subject: Reply with quote

Newbie

Joined: 08 Oct 2020
Posts: 2

Thank you so much guys! With your indications we were finally able to achieve the desired results. We also try to follow the "naming convention" exerk refered to.
We are using the Web Console to configure everything, since we are not familiarized with the commands needed for creating the objects with the CLI.

Our final configuration is as follow:

Sender server (QM1):
Q1: Remote queue
QM2: Local Transmission queue
QM1.QM2: Sender Queue Manager Channel

Receiver Server (QM2):
QM1.QM2: Receiver Queue Manager Channel
Q1: Local queue

With that, when we publish to QM1 Q1 the messages are transmitted to QM2 Q1.

Is that the correct way?
Back to top
View user's profile Send private message
exerk
PostPosted: Fri Oct 09, 2020 12:28 pm Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6201

roldor wrote:
...Is that the correct way?

Yes, including your use of the usual MQ conventions.

But I'll emphasise again: your QREMOTE name is/can be a symbolic name - it does not need to be exactly the same as the destination queue.

The following is also valid:

Code:
DEFINE QREMOTE('MYQUEUE') +
   RQMNAME('<receiving queue manager name>') +
   RNAME('YOURQUEUE') +
   XMITQ('<receiving queue manager name>')


The above is generally used to obfuscate a destination queue name, e.g. an application does not need to know the name of the real target queue, but, this only works if the application cannot inquire on the QREMOTE object.

It would be easy to give you information overload so I suggest you stick with the basics, get to know the product a little better, and also get to grips with the CLI.

Good luck, and have fun on your MQ journey!
_________________
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
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexIBM MQ Installation/Configuration SupportConfigure Queue Manager Channels on IBM MQ
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.