This section describes the messages put to the SYSTEM.QSG.TRANSMIT.QUEUE.
Like all other messages that are put to transmission queues, messages that are put to the SYSTEM.QSG.TRANSMIT.QUEUE are prefixed with the transmission queue header (MQXQH).
In WebSphere MQ Version 5 Release 3, shared queues support both persistent and non-persistent messages.
If the queue manager terminates while the IGQ agent is processing non-persistent messages, or if the IGQ agent terminates abnormally while in the middle of processing messages, non-persistent messages being processed may be lost. Applications must make arrangements for the recovery of non-persistent messages if their recovery is required.
If a put request for a non-persistent message, issued by the IGQ agent, fails unexpectedly, the message being processed is lost.
The IGQ agent retrieves and delivers all non-persistent messages outside of syncpoint scope, and all persistent messages within syncpoint scope. In this case, the IGQ agent acts as the syncpoint coordinator.
The IGQ agent uses a fixed batchsize of 50 messages. Any persistent
messages retrieved within a batch will be committed at intervals of 50
messages. The agent commits a batch consisting of persistent messages
when there are no more messages available for retrieval on the
SYSTEM.QSG.TRANSMIT.QUEUE.
The maximum size of message that can be put to the
SYSTEM.QSG.TRANSMIT.QUEUE is the maximum supported
message length for shared queues minus the length of a transmission queue
header (MQXQH).Message size
If the SYSTEM.QSG.TRANSMIT.QUEUE is in the queue name resolution path established at open time, then for messages that are put with default persistence and default priority (or with default persistence or default priority), the usual rules are applied in the selection of the queue whose default priority and persistence values are used. (Refer to WebSphere MQ Application Programming Reference for information on the rules of queue selection).
If an IGQ agent cannot deliver a message to the destination queue, the IGQ agent:
If a dead letter queue is not defined, or if an undelivered message cannot be put to the dead letter queue, and if the undelivered message is:
If a queue manager in a queue-sharing group is terminated before its associated IGQ agent has had time to process all its messages, the unprocessed messages remain on the SYSTEM.QSG.TRANSMIT.QUEUE until the queue manager is next started. The IGQ agent then retrieves and delivers the messages to the destination queues.
If the coupling facility fails before all the messages on the SYSTEM.QSG.TRANSMIT.QUEUE have been processed, any unprocessed non-persistent messages will be lost.
IBM recommends that applications do not put messages directly to transmission queues. If an application does put messages directly to the SYSTEM.QSG.TRANSMIT.QUEUE, the IGQ agent may not be able to process these messages and they will simply remain on the SYSTEM.QSG.TRANSMIT.QUEUE. Users will then have to use their own methods to deal with these unprocessed messages.
This section describes report messages.
COA and COD messages are generated by the queue manager, when intra-group queuing is used.
Expiry report messages are generated by the queue manager, when intra-group
queuing is used.
Depending on the MQRO_EXCEPTION_* report option specified in the
Report options field of the message descriptor for the undelivered
message, the IGQ agent generates the required exception report and places it
on the specified reply-to queue. (Note that intra-group queuing can be
used to deliver the exception report to the destination reply-to
queue).
The persistence of the report message is the same as the persistence of the
undelivered message. If the IGQ agent fails to resolve the name of the
destination reply-to queue, or if it fails to put the reply message to a
transmission queue (for subsequent transfer to the destination reply-to queue)
it attempts to put the exception report to the dead letter queue of the queue
manager on which the report message is generated. If this is not
possible, then if the undelivered message is:
Exception report messages