Consider two QueueManagers, QM_A and QM_B. There is a queue on QM_B called Queue_One - which is a local queue on QM_B. Initially this is only accessible to the QM_B, QM_A has no access to it. In order to get access to Queue_One QM_A needs a Remote Queue Definition, usually abbreviated to RemoteQueue. When referring to the Remote Queue Definition, the term Queue QueueManager is used to refer to QM_B, that is, the QueueQueueManager is the QueueManager upon which the LocalQueue referenced by the RemoteQueueDefinition resides.
In summary, remote queues are references to queues that reside on a queue manager that is remote to where the remote queue is defined. The remote queue has the same name as the target queue but the remote queue definition identifies the owning or target queue manager of the real queue.
The remote definition of the queue should, in most cases, match that of the real queue. If this is not the case different results may be seen when interacting with the queue. For instance:
For asynchronous queues if max message size on the remote definition is greater than that on the real queue, the message is accepted for storage on the remote queue but may be rejected when moved to the real queue. The message is not lost, it remains on the remote queue but cannot be delivered.
If the security characteristics for a synchronous queue do not match, WebSphere MQ Everyplace negotiates with the real queue to decide what security characteristics should be used. In some cases, the message put is successful, in others an attribute mismatch exception is returned.