In MSMQ there is a functionality that lets users to peek at a message without actually consuming it. i.e. I peek at the next message in a Queue based on MessageID. If I am not interested in the message I can put the message back into the Queue (i.e. unacknowledged are added back to the Queue and the messageID is maintained).
Similar functionality also exists in RabbitMQ. However in RabbitMQ its not done in a clean way. You can simulate peeking messages by taking the message off the queue and then not sending an acknowledgement so RabbitMQ will then add that message back to the queue. However I read that RabbitMQ can reorder the messages and increment message IDs when unacknowledged messages are re-added to the queue.
Has anyone encountered this problem before.
Also does any one know if IBM MQ supports this behaviour/functionality of peek and seek?
regards D
IBM MQ provides a way to browse messages without removing them from queue. You can start browsing messages from the beginning and iterate through all messages in a queue. You can also browse a specific message using MessageId or CorrelationId.
Here is snippet in C# for browsing messages in a queue.