Would need advice on the following scenario (for my personal learning):
Setup is as follows: QM1 -> QM2 -> QM3
QM1 - 1 alias queue (that will put message to the remote queue), 1 remote queue (destined for QM2's local queue), 1 transmission queue (to QM2) and 1 sender channel to QM2 QREMOTE DEFN as follows:
DEFINE QREMOTE('QM1.RQ1') RQMNAME('QM2') RNAME('QM2.LQ1') XMITQ('QM2') DEFPSIST(YES)
QM2 - 1 local queue (to receive message from QM1), 1 transmission queue (to QM3), 1 receiver channel from QM1 and 1 sender channel to QM3
QM3 - 1 local queue (to receive messages) and 1 receiver channel (between QM2 and QM3)
Note: QM1 and QM2 are connected, QM2 and QM3 are connected, but messages from QM1 to QM3 needs to be passed through QM2 to reach the local queue on QM3.
Question: Without modifying any settings on QM2 and QM3, what to configure on QM1 in order to send message to QM3's local queue from QM1?
Change your QREMOTE as follows:-
ALTER QREMOTE('QM1.RQ1') RQMNAME('QM3') RNAME('QM3.LQ1') XMITQ('QM2')
As you can see, the message put to this queue still goes on the QM2
transmission queue and when it is moved by the SDR/RCVR channel over as far as QM2, the RCVR channel will do an MQPUT to queue=QM3.LQ1 on qmgr=QM3 and this will then resolve the message to be placed onto the QM3
transmission queue, where the next SDR/RCVR channel will move it to QM3.