Deferring message processing
Deferring messages allows the processing of higher priority messages first and then servicing the lower priority messages at a later time.
To use this feature, the receive mode must set to PeekLock
. The client receiving the message then has the option to mark the message as being deferred. When the client marks the message to be deferred, they must keep track of the message sequence number in a durable store, to be retrieved later.
When a message has been deferred, it will stay in the queue until it is retrieved and the Complete()
method has been called. The message will also be removed from the Queue if a message TTL expiry timeout occurs.
The message is read from the queue using the QueueClient
class and passing the message sequence number that was persisted previously.