liveBook · Manning

Smallrye-rabbitmq

As explained in Quarkus in Action

smallrye-rabbitmq is a SmallRye Reactive Messaging connector for sending and consuming messages through RabbitMQ.

smallrye-rabbitmq is the SmallRye Reactive Messaging connector that lets Quarkus applications publish and consume messages through RabbitMQ. RabbitMQ normally uses AMQP 0-9-1, where messages travel through exchanges and queues; AMQP 1.0 requires a separate connector. section 9.7

Reactive Messaging keeps the application-facing model consistent across RabbitMQ, Kafka, and in-memory channels. Applications work with named channels while connector configuration maps those channels to broker resources. section 9.7 section 9.8.2

A typical Quarkus integration proceeds as follows:

  • Map incoming channels explicitly when RabbitMQ is not the only connector on the classpath. section 9.8.2

Invoice processing pipeline

A reservation service emits an invoice to the invoices channel. A billing service consumes it, maps incoming JSON to an Invoice, persists the invoice, and forwards it to invoices-requests. A blocking payment processor then simulates payment, updates the invoice, and emits an InvoiceConfirmation. Message metadata and acknowledgement behavior can be preserved while changing the payload. section 9.8.2

Development support can provision a RabbitMQ container and inject connection settings. Asynchronous messages do not automatically trigger Quarkus Dev Mode live reloads, so message-flow changes require a manual restart. section 9.8.2

How Quarkus in Action covers it

How deep it goes
Explains extension installation, channel mapping, queue configuration, payload conversion, acknowledgements, and blocking consumers without covering broker internals.
Examples
Demonstrates invoice emission, billing consumption, JSON mapping, persistence, payment simulation, queue renaming, and confirmation messages.
What it assumes
Assumes basic Quarkus and Reactive Messaging knowledge while distinguishing RabbitMQ’s AMQP 0-9-1 default from AMQP 1.0.
What you can do after
Build it from scratch by adding the Quarkus extension, declaring channels, mapping RabbitMQ resources, and implementing reactive consumers and producers.
How it connects
Connects RabbitMQ with Reactive Messaging, Kafka, AMQP, exchanges, queues, channels, acknowledgements, and Quarkus Dev Mode.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quarkus in Action. The section links point to the parts of the book it draws on.