Transmission queues and triggering for queue sharing groups
A shared transmission queue is used to store messages before they are moved from the queue sharing group to the destination.
It is a shared queue and it is accessible to all queue managers in the queue sharing group.
Triggering
A triggered shared queue can generate more than one trigger message for a satisfied trigger condition. There is one trigger message generated for each local initiation queue defined on a queue manager in the queue sharing group associated with the triggered shared queue.
For distributed queuing, each channel initiator receives a trigger message for a satisfied shared
transmission queue trigger condition. However, only one channel initiator actually processes the
triggered start, and the others fail safely. The triggered channel is then started with a load
balanced start (see Preparing IBM MQ for z/OS for DQM with queue sharing groups ) that is triggered to start channel
QSG.TO.QM2. To create a shared transmission queue, use the IBM MQ commands (MQSC) as shown in the following example: DEFINE QLOCAL(QM2) DESCR('Transmission queue to QM2') +
USAGE(XMITQ) QSGDISP(SHARED) +
CFSTRUCT(APPLICATION1) INITQ(SYSTEM.CHANNEL.INITQ) +
TRIGGER TRIGDATA(QSG.TO.QM2)
Note: If a shared queue is setup for triggering and connection to the Coupling Facility hosting the
shared queue is lost, a trigger event might be generated and a message put to the initiation queue.
This can happen even when no message was put to the original shared queue setup for triggering. This
is caused by the over-indication of bits by the IXLVECTR macro as documented in The List Notification Vector.