I am doing remote queuing for which I have defined two queue managers QM1 and QM2.
On QM1 I have defined a local queue Q1
On QM2 I have defined a remote queue R2 which is configured to point to Q1 on QM1
On QM2 I have defined a transmission q T2 to hold the messages
Now suppose the channels and connections defined on both the queue managers are not running and if I send messages on R2 (further to be sent to Q1) the messages won?t reach Q1 instead they will reside on T2.
I am using java code to put messages on the queue, the messages are successfully put on transmission queue but not on Q1(Since channels are not running), but the program does not throw any exception.
The messages will indeed reside on the transmission if the channel is not working.There is nothing wrong in that.Thats how the MQ is built ot work.But when the channels are up and running the messages will automatically be transferred to the remote queue which in most cases will have the same name as the transmission queue.
We do not have any control on the messages whwn the control is given to MQ manager which happens as soon as the a call to PUT is performed by your application.