rabbitmq-server/deps/rabbitmq_amqp_client
David Ansari e2a113605d Disallow transient entities in RabbitMQ AMQP 1.0 Erlang client
Transient (i.e. `durable=false`) exchanges and queues are deprecated.

Khepri will store all entities durably.
(Even exclusive queues will be stored durably. Exclusive queues are
still deleted when the declaring connection is closed.)

Similar to how the RabbitMQ AMQP 1.0 Java client already disallows the
creation of transient exchanges and queues, this commit will prohibit
the declaration of transient exchanges and queues in the RabbitMQ
AMQP 1.0 Erlang client starting with RabbitMQ 4.1.
2024-12-16 16:17:55 +01:00
..
include Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
src Disallow transient entities in RabbitMQ AMQP 1.0 Erlang client 2024-12-16 16:17:55 +01:00
test Disallow transient entities in RabbitMQ AMQP 1.0 Erlang client 2024-12-16 16:17:55 +01:00
BUILD.bazel Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
LICENSE Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
LICENSE-MPL-RabbitMQ Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
Makefile make: Fix regressions following make plugins cleanup 2024-09-10 15:42:28 +02:00
README.md Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
app.bzl Use different AMQP address format for v1 and v2 2024-07-03 16:36:03 +02:00
erlang.mk Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
rabbitmq-components.mk Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00

README.md

Erlang RabbitMQ AMQP 1.0 Client

The Erlang AMQP 1.0 client is a client that can communicate with any AMQP 1.0 broker. In contrast, this project (Erlang RabbitMQ AMQP 1.0 Client) can only communicate with RabbitMQ. This project wraps (i.e. depends on) the Erlang AMQP 1.0 client providing additionally the following RabbitMQ management operations:

  • declare queue
  • get queue
  • delete queue
  • purge queue
  • bind queue to exchange
  • unbind queue from exchange
  • declare exchange
  • delete exchange
  • bind exchange to exchange
  • unbind exchange from exchange

Except for get queue, these management operations are defined in the AMQP 0.9.1 protocol. To support these AMQP 0.9.1 / RabbitMQ specific operations over AMQP 1.0, this project implements a subset of the following (most recent) AMQP 1.0 extension specifications:

This project might support more (non AMQP 0.9.1) RabbitMQ operations via AMQP 1.0 in the future.

Topologies (exchanges, bindings, queues) in RabbitMQ can be created via