PubSubNPResponse (MQLONG)

Controls the behavior of undelivered response messages.

The value is one of the following:

    MQUNDELIVERED_NORMAL
    Non-persistent responses which cannot be placed on the reply queue are put on the dead letter queue, if they cannot be placed on the DLQ then they are discarded.

    MQUNDELIVERED_SAFE
    Non-persistent responses which cannot be placed on the reply queue are put on the dead letter queue. If the response cannot be set and cannot be placed on the DLQ then the queued publish/subscribe interface will roll back the current operation and then retry at appropriate intervals and does not continue processing subsequent messages.

    MQUNDELIVERED_DISCARD
    Non-persistent responses are not placed on the reply queue are discarded.

    This is the default value for new queue managers.

    MQUNDELIVERED_KEEP
    Non-persistent responses are not placed on the dead letter queue or discarded. Instead, the queued publish/subscribe interface will back out the current operation and then retry it at appropriate intervals.

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


Default value for migrated queue managers.

If the queue manager has been migrated from IBM MQ V6.0, the initial value of this attribute depends on the values of DiscardNonPersistentResponse and DLQNonPersistentResponse before migration, as shown in the following table.

  DLQNonPersistentResponse
Yes No Not set
DiscardNonPersistentResponse Yes MQUNDELIVERED_NORMAL MQUNDELIVERED_DISCARD MQUNDELIVERED_NORMAL
No MQUNDELIVERED_SAFE MQUNDELIVERED_KEEP MQUNDELIVERED_SAFE
Not set If SyncPointPersistent = No, MQUNDELIVERED_SAFE else MQUNDELIVERED_NORMAL If SyncPointPersistent = No, MQUNDELIVERED_KEEP else MQUNDELIVERED_DISCARD If SyncPointPersistent = No, MQUNDELIVERED_SAFE else MQUNDELIVERED_NORMAL