Create and manage a RabbitMQ dynamic shovel via the management HTTP API to bridge queues between brokers
domain: rabbitmq.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Enable the shovel plugin: rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management
Define a dynamic shovel via the runtime parameter API: PUT /api/parameters/shovel/%2F/my-shovel with a JSON body containing src-uri, src-queue, dest-uri, dest-queue, and ack-mode
Set ack-mode to on-confirm for at-least-once reliability; the shovel will only ack the source message after the destination broker confirms receipt
Set src-prefetch-count to limit how many unacknowledged messages the shovel holds in-flight; prevents memory pressure if the destination is slow
Monitor shovel state: GET /api/shovels and confirm state=running; check message transfer rates in the management UI
Delete or update a running shovel without restart: DELETE /api/parameters/shovel/%2F/my-shovel to stop it, then re-PUT with new parameters
Known gotchas
Dynamic shovels are stored in the Mnesia database and replicated across the cluster; a shovel defined on one node is automatically started on exactly one node but restarts on another if that node fails
src-uri and dest-uri must include credentials in the URI (amqp://user:pass@host); use vhost-encoded paths (%2F for the default vhost) or the shovel will connect to the wrong vhost
Shovel differs from federation in that it moves (dequeues) messages from the source; once shovelled, messages are gone from the source queue — do not use shovel when you need the source to retain a copy
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?