Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to test a remote definition queue without a remote queue name?

Status
Not open for further replies.

gertvangaever

Technical User
Apr 3, 2002
37
BE
Hello!

We have different remote queues that transport a message to a certain queue on a certain remote queue manager.
I test these with amqsputc.
But I can't use amqsputc for the remote queues that have NO remote queue name. It seems it is possible to program a remote queue name someway. I don't know how our programmers handled it, but I like to test it using a command anyway.
Is there any way I can do it?
Is there a command in which I can pass a remote queue name?

Tnx
Gert
 
I am not 100% sure what it is you mean when you say that AMQSPUTC isn't working for a remote queue that have NO remote queue name. Do you mean the remote queue being used isn't actually defined on the remote queue manager? If so then the messages are destined for the DLQ.

AMQSPUT and AMQSPUTC will both drop a message onto a remote queue. A remote queue no more than a local pointer to a remote queue. Assuming that the remote queue is defined with a transmit queue and that transmit queue has a channel associated with it then the AMQSPUT programs 'should' deliver the message. (always assuming that the channel is active or triggered).

In other words as long as you have an active channel that uses the same transmit queue as the one that is defined in the remote queue definition then the message should get tranmitted without any problem by AMQSPUT.

Hope this helps
 
I have a 'remote queue definition', where NO remote queue name is filled in.
Normally, when you have a remote queue definion where a remote queue is filled in, you can use amqsput(c) to send a message to that remote queue, and it will arrive in the queue on the remote queue manager, that was defined as the remote queue on that remote queue definition.

I have remote queue definitions here, that have NO remote queue defined. The field 'remote queue' is empty.
But they ARE used, and there are no problems using it.

So I'd just want a way to TEST those remote queue definitions. I want PROOF that they work...

Gert
 
I see.....but the name you specify for AMQSPUT is the name of the local definition so the utility should still work I would have thought.
 
It can't work...
i use, for example, 'amqsput hohoho.send.queue < message'
it then puts a message in the hohoho.send.queue
Via this send queue it is transmitted to the 'remote queue' on the 'remote queue manager', via the 'transmit queue'.
If the 'remote queue' is not defined, the message has no location to go to...
 
.....so it will end up on the DLQ at the remote queue manager.

I think I see what your issue is now. Is your site using Queue Manager Aliases do you know? IIRC the RNAME being blank is only valid for queue manager aliases. Maybe the definition is used as a model and the 'real' queues are defined using this in the applications?
 
Kevin is correct that a Remote Queue definition with a blank RQueueuName is a QMgr Alias. Any messages put to such a queue would actually be put onto the XmitQ with the same name as the RemoteQMgr field of this QMgr alias.

Just tried to put a message to a Remote queue with no RemoteQueueName specified - 2184 - MQRC_REMOTE_Q_NAME_ERROR.

Dammit - they've thought of everything ;-)

If your apps are putting messages to queues on remote systems without having locally defined RemoteQueues (and you're not using MQ Clusters) then the only way is to specify the Queuename and RemoteQMgrName in the Object Descriptor of the MQOPEN. In this case it is possible to specify the QMgr alias if you want to.

Cheers,
Paul
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top