Although RabbitMQ management console is quite good for general broker management, it doesn't offer much when you want to dig into messages. You can only take a look at few top messages and not much else. And we often need more than that when dealing with RabbitMQ, whether it's tinkering and checking what's sent and received during development phase, or trying to figure out and fix problematic messages in production.
QueueExplorer offers much more in this area.
QueueExplorer is focused on messages. It will load and show messages in a RabbitMQ queue as soon as you click on it. All message and header 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...). 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 RabbitMQ 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 RabbitMQ 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.
Behind the scene, QueueExplorer will create temporary exchange, to make sure messages are sent exactly where you want them. You can also send messages directly to a specific exchange you want, by using load, paste, drag&drop, etc. on that exchange. In that case existing exchange will be used, with its binding and routing settings.
Bindings are displayed whenever you're looking at the the queue or the exchange, and you can edit them as well. What QueueExplorer has and RabbitMQ management console doesn't, is you can right click a binding and navigate to its source or destination exchange or queue. That way, you can use configured bindings to quickly jump to see where messages are coming from or where they'll end up.
QueueExplorer analyzes queue arguments and policies to find out how deadlettering is set up. Deadletter queues, i.e. queues which receive deadletter messages are displayed with a different icon, making it easy to find where deadletter messages end up.
You can manually deadletter any message, and you'll see to which exchange it will go.
RabbitMQ puts additional data to deadletter message's headers. QueueExplore parses that data and allows you to see analyzed pieces in messages list, like which was the original queue, reason why deadlettering happened, etc. This is especially useful together with "Views" feature from QueueExplorer Professional which allows you to have different fields displayed for different queues.
As you create a queue or exchange, you'll immediately see which of existing policies will apply to it, if any. You'll also see which arguments will be applied from that policy.
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: