Auto-Reconnection
Exponential backoff for connections, publishers, and consumers, with a distinct callback when it permanently gives up
Automatic reconnection, declarative topology, publisher confirms, consumer middleware, and dead-letter queues — built on amqp091-go, with a fluent API and nothing left for you to reinvent.
go get github.com/KARTIKrocks/rabbitwrapExponential backoff for connections, publishers, and consumers, with a distinct callback when it permanently gives up
Exchanges, queues, and bindings restored after reconnects, and re-applied on a timer so a deleted binding cannot strand a consumer
A channel-level exception, not just a dropped connection, is caught and the channel re-established
Correlated by delivery tag — a single confirmed publisher is safe to share across goroutines
Logging, panic recovery, in-process retry, and broker-level backoff retry — or bring your own
One call wires the dead-letter exchange, queue, and binding for a work queue
Configurable worker goroutines with graceful, bounded shutdown
Connections and publishers are safe for concurrent use
A raw amqp091-go connection gets you a channel. Everything past that — the parts that turn "I can publish a message" into "I can run this in production" — is what rabbitwrap provides. It is not a replacement for the AMQP protocol library; it is built on top of one.
| Capability | rabbitwrap | Raw amqp091-go |
|---|---|---|
| Reconnection with exponential backoff | Included | You build it |
| Topology that survives reconnects and deletions | Included | You build it |
| Channel-level exception recovery | Included | You build it |
| Dead-letter queue wiring | Included | You build it |
| Broker-level backoff retry | Included | You build it |
| Consumer middleware chain | Included | You build it |
| Graceful, bounded shutdown | Included | You build it |
| Health checks via IsHealthy() | Included | You build it |