3.1.7.2.7 Time To Be Received Timer Expired
This event MUST be generated with the following argument:
iMessage: A reference to the Message (section 3.1.1.12) ADM element instance that has expired.
Return Value:
None.
The queue manager MUST perform the following actions to process this event:
If iMessage.TransactionIdentifier is not NULL:
Set iMessage.MessagePositionReference.State to Locked.
Create a new TransactionalOperation (section 3.1.1.13) ADM element instance with the following attribute values:
OperationType := Dequeue.
MessagePositionReference := iMessage.MessagePositionReference.
DequeueReason := NackReceiveTimeout.
Find the Transaction (section 3.1.1.14) ADM element instance in QueueManager.TransactionCollection whose Identifier attribute equals iMessage.TransactionIdentifier. Add the new TransactionalOperation ADM element instance to the end of the TransactionalOperationCollection attribute of that Transaction ADM element instance.
Else:
Generate the Message Position Deleted (section 3.1.7.2.1) event with the following arguments:
iQueue := iMessage.MessagePositionReference.QueueReference
iPosition := iMessage.MessagePositionReference
iReason := NackReceiveTimeout