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 |