Skip to content

Messaging

perspective-messaging (id messaging) is the devops and debug surface for the embedded ActiveMQ broker. Inspect destinations, browse pending messages without consuming them, purge queues, remove destinations. It covers the embedded broker only.

Layout

  • Destinations (left) - filterable list of every queue and topic with live counters (enqueued, dequeued, inflight, pending).
  • Message browser (center) - master / detail of the messages currently pending on the selected queue. Body preview is decoded from TextMessage directly; BytesMessage payloads are inspected up to 64 KB and rendered as UTF-8 when textual, otherwise base64.

Actions

ActionEffect
Purge queueRemoves every pending message from the queue. Non-destructive to the destination.
Remove single messageRemoves one message by its JMS message id.
Remove destinationDeletes the queue / topic itself. Returns 409 if consumers are still attached.

Endpoints

All endpoints live under /services/ide/messaging-monitoring/ and require one of ADMINISTRATOR, DEVELOPER, OPERATOR:

MethodPathPurpose
GET/summaryBroker meta + every destination + counters.
GET/queues/{name}/messages?limit=NNon-destructive browse (cap 200).
DELETE/queues/{name}/messagesPurge the queue.
DELETE/queues/{name}/messages/{messageId}Remove a single message.
DELETE/queues/{name}Remove the destination.
DELETE/topics/{name}Remove the destination.

Topics

JMS topics do not retain non-persistent messages. The destinations view still shows live counters for topics, but the message browser shows an empty list - there is nothing pending to inspect. Use a durable subscriber to retain messages.

Embedded broker only

The perspective reads broker state straight off the in-process BrokerService - the broker runs with JMX disabled, so there is nothing to introspect remotely. A deployment configured against an external broker with DIRIGIBLE_MESSAGING_BROKER_URL has no such object: the endpoints above are not registered and answer 404, and the views stay empty. Inspect that broker through its own console.

Released under the EPL-2.0 License.