DefPersistence (MQLONG)

This is the default persistence of messages on the queue. It applies if MQPER_PERSISTENCE_AS_Q_DEF is specified in the message descriptor when the message is put.

Local Model Alias Remote Cluster
X X X X X
If there is more than one definition in the queue-name resolution path, the default persistence is taken from the value of this attribute in the first definition in the path at the time of the MQPUT or MQPUT1 call. This could be:

  • An alias queue
  • A local queue
  • A local definition of a remote queue
  • A queue manager alias
  • A transmission queue (for example, the DefXmitQName queue)
The value is one of the following:

    MQPER_PERSISTENT
    The message survives system failures and queue manager restarts. Persistent messages cannot be placed on:

    • Temporary dynamic queues
    • Shared queues that map to a CFSTRUCT object at CFLEVEL(2) or below, or where the CFSTRUCT object is defined as RECOVER(NO).
    Persistent messages can be placed on permanent dynamic queues, and predefined queues.

    MQPER_NOT_PERSISTENT
    The message does not normally survive system failures or queue manager restarts. This applies even if an intact copy of the message is found on auxiliary storage during a queue manager restart.

    In the case of shared queues, nonpersistent messages do survive restarts of queue managers in the queue sharing group, but do not survive failures of the coupling facility used to store messages on the shared queues.

Both persistent and nonpersistent messages can exist on the same queue.

To determine the value of this attribute, use the MQIA_DEF_PERSISTENCE selector with the MQINQ call.