How to browse and inspect ActiveMQ messages

Updated July 21, 2026

To browse ActiveMQ messages, connect QueueExplorer, expand the broker, and select a queue. Messages appear progressively in a grid, and selecting a row displays its body, JMS headers, and application properties. Browsing does not consume the messages, so it is the right first step when investigating a backlog or failed message.

This guide covers Apache ActiveMQ Classic. QueueExplorer connects through Jolokia for management and OpenWire for message operations. ActiveMQ Artemis is a different broker and is not currently supported by QueueExplorer.

1. Connect QueueExplorer to ActiveMQ Classic

  1. Download QueueExplorer for Windows, macOS, or Linux.
  2. Create an ActiveMQ connection and enter the broker host and credentials.
  3. Configure the Jolokia management endpoint, normally on port 8161.
  4. Configure the OpenWire endpoint, normally on port 61616, then test and open the connection.

Jolokia lets QueueExplorer discover and manage the broker; OpenWire is used to browse, send, and receive messages. Both endpoints can use SSL/TLS, and QueueExplorer can use different credentials for Jolokia when required. See the ActiveMQ connection guide for custom URLs, JMX domains, ports, and TLS settings.

Because the management connection requires Jolokia, QueueExplorer cannot connect to Amazon MQ for ActiveMQ, which does not expose that interface.

Do not expose Jolokia or OpenWire to the public internet. Restrict network access, enable authentication and TLS, and use an account with only the permissions needed for the investigation.

2. Select a queue and load a practical batch

Expand Queues and click the queue you want to inspect. QueueExplorer starts displaying messages as they arrive from the broker; you do not need to request a separate load for every view. Set a sensible limit for a large production queue rather than loading the entire backlog immediately.

ActiveMQ Classic messages displayed progressively in QueueExplorer
Select a queue to browse its messages without consuming them

A queue browser is a diagnostic view, not a transactionally consistent snapshot. Producers can add messages, consumers can remove them, and expiration or dead-letter processing can change the queue while it is open. Refresh before acting on a selected row, and pause competing consumers when the exact set of messages matters.

If the queue count is larger than the number of messages the broker returns, an ActiveMQ destination policy may be limiting browsing through maxBrowsePageSize. QueueExplorer warns when it can detect that mismatch, but cannot bypass the broker setting. Review the ActiveMQ limitations guide before treating a loaded list as the whole queue.

Download QueueExplorer

Free trial for Windows, macOS, and Linux

3. Inspect message bodies, headers, and properties

Select a message to inspect its content in the lower panel. QueueExplorer provides formatted JSON and XML views, text viewers with multiple encodings, a hexadecimal view for binary or unknown payloads, and a WCF viewer. This makes malformed payloads, encoding problems, and unexpected field values easier to recognize than in a plain-text view.

Add the JMS and application fields needed for the investigation as grid columns. Useful fields include JMS Message ID, Correlation ID, Type, timestamp, expiration, priority, delivery mode, redelivery state, and custom properties. Treat application-supplied identifiers as business data: their uniqueness depends on the producing application.

ActiveMQ message body and properties inspected in QueueExplorer
Inspect formatted content and message properties without removing the message

4. Sort, search, and filter the messages already loaded

Sort the current view by clicking a column, or filter it by body text, JMS headers, and application properties. Filtering changes only the rows displayed by QueueExplorer; it does not remove messages or reorder the queue.

The filter works on messages that QueueExplorer has loaded. ActiveMQ is a message broker, not a database with a full-text index over every queued body, so increase the load limit carefully if the target is not in the first batch.

QueueExplorer Professional can extract business values from JSON, XML, or text bodies using JSON expressions, XPath, or regular expressions. Extracted values become sortable and filterable columns, which is useful for finding an order number, tenant, event type, or another field buried in the payload.

QueueExplorer custom column extracting an XPath value from XML message content
An XPath custom column exposes payload data directly in the message grid

Browsing an ActiveMQ queue versus monitoring a topic

Destination What QueueExplorer can show Important limitation
Queue Messages currently waiting on that queue The view can change as producers and consumers work
Topic Messages published while QueueExplorer's topic viewer is subscribed It is a live view, not a history of messages published before the viewer connected
Dead-letter queue Messages routed to a DLQ after delivery or expiration handling A shared DLQ can contain messages from several original destinations

In JMS, a queue stores work for competing consumers, while a topic publishes to eligible subscribers; non-durable subscribers do not receive messages sent while they are disconnected. If an application needs an offline topic backlog, that behavior must be designed through durable subscriptions rather than expected from a live topic viewer.

A safer production inspection workflow

  1. Confirm the broker, environment, and destination name before opening the queue.
  2. Start with a small load limit, then expand it only when necessary.
  3. Use stable application identifiers together with JMS headers to identify the intended messages.
  4. Pause competing consumers before delete or move operations when an exact selection is required.
  5. Save important messages before changing them.
  6. Refresh the queue and verify counts and downstream effects after any mutation.

Frequently asked questions

Does browsing an ActiveMQ queue remove messages?

No. Browsing is non-destructive. Delete, cut, move, and receive operations are separate actions that can change the queue.

Can I search every message on the broker?

You can sort and filter the messages loaded into QueueExplorer. There is no database-style full-text query across all message bodies on every destination, so keep the scope and load limit explicit.

Can I inspect messages already published to a topic?

Not as topic history. QueueExplorer displays topic messages arriving while its viewer is connected. Stored copies for offline consumers depend on how durable subscriptions were configured by the application.

Related ActiveMQ guides

QueueExplorer: a better way to inspect and manage ActiveMQ

QueueExplorer desktop application for inspecting and managing ActiveMQ

See what is happening in ActiveMQ and resolve message problems without writing one-off tools. Browse queues and live topics, inspect message contents, and manage your ActiveMQ Classic brokers from one desktop application. Try it free on Windows, macOS, or Linux.

Download QueueExplorer     Learn more