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.
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.
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.
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.
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.
During software and hardware upgrades there's a need to save an load messages.
Can't be done from MMC.
Can't be done from MMC.
QueueExplorer can copy, export or sync definitions of queues to another server. This allows you to easily migrate to another server, to compare servers for changes, or to just duplicate objects with all their settings on the same server by giving them new names.
QueueExplorer analyzes imported and current schemas and displays differences, allowing you to pick which changes will be performed. Schema operations also work between public and private queues on the same server.
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
QueueExplorer Professional offers additional benefits over RabbitMQ management console:
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.