3.1.5.8.1 Duplicate Detection

If the UserMessage Packet ([MS-MQMQ] section 2.2.20) contains a TransactionHeader ([MS-MQMQ] section 2.2.20.5), the message is transactional, and duplicate detection is done using the sequence numbers in the UserMessage.TransactionHeader, as specified in 3.1.5.8.6.

If the message is not transactional and the MessageIDHistoryTable ADM element table contains a MessageIDHistoryEntry.MessageIdentifier.Ordinal that matches the UserMessage.UserHeader.MessageID field, the protocol MUST perform the following logic:

  • The protocol MUST update the matching MessageIDHistoryEntry.MessageIdentifier.TimeStamp by setting it equal to the current system time. This value is the number of seconds elapsed since midnight (00:00:00), January 1, 1970 (Coordinated Universal Time (UTC)) according to the system clock.

  • The protocol MUST discard this message and perform no further processing.