I need clarification about one basic concept about MQ Series.
How is queue & route related?
At the time of opening an MQ Connection the route name will be specified.
This returns a context-handle that is a pointer to a memory block where more information about the queue is stored.
The context-handle defines to which queue the msg will be put to.
So, a route can be associated with more than 1 queue.
Also, a queue can have multiple Put routes but only single Get route.
When you MQCONN , you specify the QMgr name. When you MQOPEN, you specify a Queue name. The queue may have multiple aliases, both PUT and GET which can be used to acces the underlying actual queue.
If the resolved queue is a local queue, there is no routing, the message stays on the local QMgr. For remote queue definitions, the alias points to a transmission queue which specifies the route to the hosting QMgr.
You can PUT to local and remote queues but only GET from a,local queue.