AMQP (Advanced Message Queuing Protocol) standardizes message exchange between producers, brokers, and consumers. RabbitMQ uses AMQP 0-9-1 by default, sending and consuming messages through queues. section 9.7
Protocol versions matter: AMQP 0-9-1 differs substantially from AMQP 1.0. RabbitMQ can use AMQP 1.0 through a separate plugin, while SmallRye Reactive Messaging provides a connector for AMQP 1.0. section 9.7
Use AMQP in a Quarkus reactive-messaging application by:
- Adding the quarkus-messaging-rabbitmq extension to connect through the SmallRye RabbitMQ connector. section 9.7
- Mapping an outgoing reactive channel, such as invoices, to a RabbitMQ exchange bound to a queue. section 9.7
Reservation and Billing services
A Reservation service emits an Invoice through an invoices channel. A BillingService consumes the message through invoices-rabbitmq, maps the received JsonObject to an Invoice, and processes it asynchronously through RabbitMQ. section 9.9
