A browser-based tool for managing Solace PubSub+ Event Brokers. Browse queues, inspect messages, forward, delete, copy across brokers, and search subscriptions — all from a single self-contained HTML page. No installer, no backend.
- Get the app. Drop
index.html,solclient.js, andjszip.min.jsinto any folder served over HTTP. (See deployment.md for hosting options. Opening the file directly works for the UI, but SEMP calls will fail due to CORS — use a tiny local server instead.) - Open it in a browser. The Connections screen loads first.
- Fill in two connections (both share the same Broker Host):
- Solace Client (WebSocket, for message operations) — VPN, username, password, port
8008(ws) or1443(wss). - SEMP (REST, for management operations) — admin username, password, port
8080(http) or1943(https).
- Solace Client (WebSocket, for message operations) — VPN, username, password, port
- Click Connect on each. The two dots in the sidebar turn green when ready.
- Save All Config — your settings persist in the browser for next time.
- Use the sidebar to switch between Queue Browser, Queue Copy, and Queue Subscriptions.
Try it without a broker: open
mock.htmlinstead. Use Broker Hostbroker.solace.comand any non-empty credentials — every module works against deterministic mock data. See Demo Mode for details.
Self-signed TLS certificates: if
wss://connection is blocked, the app shows a helper dialog with one-click instructions to trust the broker certificate.
- Two independent connections (Solace Web Messaging + SEMP REST), shared broker host.
- Basic or OAuth2 authentication for the Solace client.
- Save / Load / Reset connection profiles (localStorage).
- Advanced settings — connect/reconnect retries, timeouts, per-queue message cap (1–10 000).
- Live status dots in the sidebar for both connections.
- SSL trust helper for self-signed broker certificates.
- Bind up to 3 queues simultaneously and switch between them; each keeps its own message history.
- Real-time message arrival into a sortable, scrollable table.
- Per-message details panel — properties, application properties, destination, payload preview, raw dump.
- One-click copy for destination, replication-group ID, and content.
- Filter modal with AND/OR matching across Message ID, type, destination, body content, and standard or application properties. Supports
*wildcards; body filter is auto-substring. - Forward one or many messages to a topic, queue, or each message's original destination. Per-message status (QUEUED → SENDING → SUCCESS / FAILED) with retry-only-failed.
- Delete single or bulk messages (read-write queues only; hidden on read-only).
- Download as ZIP — payload-only or full JSON (properties + payload).
- Keyboard shortcuts: Enter to bind, Enter to send forward.
- Modals dismiss on Escape or backdrop click.
- Copy or move messages between queues, on the same broker or across brokers.
- Two-column form — read-only Source mirror + editable Destination with Same Broker / Same VPN shortcuts.
- Destination can be a queue (with SEMP-driven picker) or a topic.
- Bounded runs — snapshots the source before starting so the run has a defined end.
- Pre-flight verification (count, size, quota, oldest/newest message ID) via SEMP, with QueueBrowser fallback if SEMP is unavailable.
- Live progress with per-message ACK and a Continue beyond prompt for messages that arrive during the run.
- Stops on the first error (quota, permission, rejection) so partial state is visible.
- Lists every
(VPN, queue, topic-subscription)triple visible to your SEMP user — answer "which queues subscribe to topic X?" without walking each queue manually. - Three column filters, AND-combined.
- VPN / Queue filters: case-insensitive substring by default;
*switches to anchored wildcard (def*,*ult,def*ult). - Subscription filter uses Solace topic-set intersection (
*= one level,>= trailing levels) — typingorders/newmatches a storedorders/*. - Loaded list is cached in memory; Refresh re-fetches.
- SEMP queue picker — used by Browser, Copy, and Subscriptions to select queues without leaving the current module.
- Toasts for every success / failure.
- Single-file build —
dist/index.htmlis fully self-contained; onlysolclient.jsandjszip.min.jssit alongside. - Demo bundle (
dist/mock.html) — every module exercised against mock data, no broker required.
| Document | Description |
|---|---|
| user-guide.md | Full UI walkthrough, every field, every screen |
| deployment.md | Build, hosting options, network requirements, TLS |
| architecture.md | System diagrams, module structure (developers) |
| developer-guide.md | Setup, testing, adding modules, code conventions |
| contributing.md | PR workflow, coding standards, test requirements |
| test-report.md | Test methodology, coverage strategy |
| improvement-plan.md | Prioritized backlog |
