Reputation: 1702
Does the following window: Computer Management -> Message queueing -> Private queues -> {MyQueue} -> Queue messages show all the messages from queue or some first 1000 ? And how to see all the messages?
In detail:
I have a private transactional MSMQ queue and it is displyed correctly in Queue messages window until the number of messages in the queue exceedes 800-1500. Then, when new message is added, it does not appear in the {MyQueue} -> Queue messages window, however, in Message Queueing -> Private Queues window I can see that the number of messages has grown in myqueue.
I tried to add a message via code (the behaviour is as described above):
// Create MSMQ message
var msg = new Message();
msg.Body = "Hello world";
msg.Label = "Now you see me";
msg.UseDeadLetterQueue = true;
msg.UseJournalQueue = true;
msg.AcknowledgeType = AcknowledgeTypes.FullReachQueue | AcknowledgeTypes.FullReceive;
msg.AdministrationQueue = new MessageQueue(@".\private$\audit");
// Send MSMQ message
var mq = new MessageQueue(@"FormatName:DIRECT=OS:.\private$\myqueue");
mq.Send(msg, MessageQueueTransactionType.Single);
What is more interesting, I can retrieve the "invisible" message in code:
// Retrieve MSMQ message
mq.MessageReadPropertyFilter.SetAll();
var allMessages = mq.GetAllMessages();
DateTime today = DateTime.Now.Date;
var messages = allMessages.Where(m => m.ArrivedTime > today).OrderByDescending(m => m.ArrivedTime).ToList();
There are no explicit limits on this queue set.
How could I see all the messages in the queue?
a) in Computer Management -> Message queueing -> Private queues -> {MyQueue} -> Queue messages
b) or in some other free tool ?
Upvotes: 0
Views: 667
Reputation: 1198
I think it's a limitation in windows. However, I can suggest MSMQ QXplorer
Free and Open source.
http://msmqqxplorer.svn.sourceforge.net/
latest download available at:
http://sourceforge.net/projects/msmqqxplorer/files/latest/download?source=files
Upvotes: 2