Skip to content

ruststream-amqp

ruststream-amqp is the AMQP 1.0 broker for the RustStream messaging framework. AMQP 1.0 is an ISO-standard protocol, so one crate serves the whole family: ActiveMQ Artemis and Classic, RabbitMQ 4.x (a separate protocol stack from the 0.9.1 that ruststream-lapin speaks), Azure Service Bus and Event Hubs, Amazon MQ, Solace, Apache Qpid, and IBM MQ.

Handlers, routers, codecs, and middleware come from the framework; this crate supplies the transport, and nothing broker-specific leaks back into the framework.

ruststream = { version = "0.6", features = ["macros", "json"] }
ruststream-amqp = "0.6"
serde = { version = "1", features = ["derive"] }
crates/ruststream-amqp/examples/amqp_service.rs
#[ruststream::app]
fn app() -> impl App {
    RustStream::new(AppInfo::new("orders", "0.1.0")).with_broker(
        AmqpBroker::new("amqp://artemis:artemis@localhost:5672"),
        |b| b.include(handle),
    )
}

Where to go next

  • AMQP guide - addressing, dispositions, request/reply, transactions, and testing.
  • RustStream docs - the framework itself: subscribers, routing, codecs, middleware, the CLI.
  • API reference - the crate's rustdoc on docs.rs.

How this site relates to the RustStream docs

This site documents the AMQP 1.0 broker only. Framework concepts that apply to every broker (writing subscribers, publishing, routing, codecs, middleware, observability, the CLI) live in the RustStream documentation. The pages here cover what is specific to AMQP and link back to the framework docs where the two meet.