Back to work
ReleasedOpen source2026

MQ Watcher

An open-source tool for inspecting ActiveMQ Classic message store files. Trace messages, acknowledgements, and transactions locally without modifying the source files.

MQ Watcher

The working system

Open an ActiveMQ Classic store snapshot and inspect messages, acknowledgements, subscriptions, and transactions. MQ Watcher connects each record to its journal file and byte position so an operator can check the underlying evidence.

MQ Watcher store overview — parsed KahaDB journal structure at a glance
Store overview — the parsed journal structure.
MQ Watcher message trace — one JMSMessageID traced across store evidence
Message Trace — one JMSMessageID across all store evidence (v0.4.0).
MQ Watcher snapshot comparison — A/B diff between two store snapshots
Snapshot compare — A/B diff between two store states.

What it does

It parses KahaDB journal framing (batches, record headers, command envelopes, and checksums) and links related evidence. You can open multiple stores in tabs, compare two snapshots A/B, trace one exact JMSMessageID across all store evidence, keep incident notes, review journal retention, and export a redacted evidence bundle.

Why read-only matters

The tool reads stores without opening them for writing, loading product JARs, or starting recovery or compaction. This preserves the evidence under investigation, which can change when a broker store is opened with the wrong runtime or recovery path. The CLI binds to 127.0.0.1 only and has no upload endpoint.

Evidence flow

A Worker computes store identity from a content-based SHA-256 signature, so it survives directory renames and supports meaningful cross-snapshot comparison. Every fixture test hashes all source files before and after scanning and reports a failure if any byte changes. Unrecognized layouts keep the labels Unknown / Unsupported / Partial instead of being inferred.

Verified scope

Version 0.4.0 is available on GitHub and includes exact JMSMessageID tracing. The compatibility matrix documents tested ActiveMQ versions and scenarios; check it before using the tool on a different store format.

Where it stops

MQ Watcher shows what the store evidence supports. Each lead explains why it surfaced and where the evidence stops; root-cause analysis and recovery remain separate work.