Invalidation of object handles (MQRC_OBJECT_CHANGED)
If the attributes of an object are found to have changed after the object
is opened, the queue manager invalidates the object handle with MQRC_OBJECT_CHANGED
on its next use.
Intra-group queuing introduces the following new rules for object handle
invalidation :
- If the SYSTEM.QSG.TRANSMIT.QUEUE was included in the name resolution path
during open processing because intra-group queuing was ENABLED at open time,
but intra-group queuing is found to be DISABLED at put time, then the queue
manager invalidates the object handle and fails the put request with MQRC_OBJECT_CHANGED.
- If the SYSTEM.QSG.TRANSMIT.QUEUE was not included in the name resolution
path during open processing because intra-group queuing was DISABLED at open
time, but intra-group queuing is found to be ENABLED at put time, then the
queue manager invalidates the object handle and fails the put request with
MQRC_OBJECT_CHANGED.
- If the SYSTEM.QSG.TRANSMIT.QUEUE was included in the name resolution path
during open processing because intra-group queuing was enabled at open time,
but the SYSTEM.QSG.TRANSMIT.QUEUE definition is found to have changed by put
time, then the queue manager invalidates the object handle and fails the put
request with MQRC_OBJECT_CHANGED.