MSMQ management console vs QueueExplorer

Microsoft Message Queuing (MSMQ) is powerful solution for asynchronous application messaging.
However, things don't look so good when MSMQ must be managed - supplied MSMQ management console (MMC) does not cover many real life situations.

Powerful message list

QueueExplorer is focused on messages. It will load and show messages in a MSMQ queue as soon as you click on it. All message properties can be displayed in this list - you can choose which fields are important to you. Messages are loaded progressively, allowing you to start analyzing or working immediately, without waiting for all of them to load. Messages can be sorted any way you want, of filtered by any of available fields. This allows you to quickly find exact messages that should be acted upon.

As you click on message, its body is displayed in preview panel, using multiple message views: JSON, XML, hex, text with multiple encodings (UTF-8, UTF-16, ASCII...), WCF, .Net Binary or XML. Preview is automatically detected from the first message, but you can always choose it manually.

Message list has optional auto refresh capability.

QueueExplorer can decompress Gzip or Deflate compressed messages when they are displayed.

Explorer like-operations

QueueExplorer offers explorer-like operations for MSMQ messages: copy, move, delete, drag&drop, save and load from file system...

Message can be edited, or you can create new ones from scratch. If you turned on compression support, your new or edited message will be compressed properly when sent back to a queue.

Disclaimer: QueueExplorer can't modify message in middle queue, or place it on arbitrary position. We can only work with what MSMQ offers us, and that's basically Send and Receive. Thus, when QueueExplorer edits or copies a message, it's in fact a new message that will be sent to the end of queue.

Poison messages

Transactional queues sometime lead to poison messages - messages that practically block entire queue. In case when message processing fails standard solution is to roll back entire transaction, which puts failed message back to queue. If reason for failed processing is not transient, that same message will be retried indefinitely because it is always on top of queue. You need to delete single poison message?
Can't be done from MMC.

Queued components management

Those who use Queued Components know that poison messages will eventually finish in dead-letter queue. How to put that message back to queue 0 to be processed again?
Can't be done from MMC.

Backup and restore MSMQ messages

During software and hardware upgrades there's a need to save an load messages.
Can't be done from MMC.

Need to manage remote queues?

Can't be done from MMC.

Load testing

QueueExplorer's Mass paste functionality allows you to very quickly multiply one or more messages and fill the queue with hundreds or thousands messages for load or performance testing

Professional features

QueueExplorer Professional offers additional benefits over RabbitMQ management console:

  • Optimized for multiple servers (multiple connections at the same time, grouping...)
  • Extract data from messages using XPath, JSON, or Regex
  • Custom queue folders - organize subsets of queues in folders
  • Queue Views - separate settings (message fields, etc.) for different queues
  • Tabbed interface for working with multiple resources at once

Only solution for these problems so far was to programmatically access MSMQ

Wouldn't it be better to check details of message, move them between queues, edit, delete or save them like they're files?
These things are possible now - and very easy.

Download QueueExplorer