AMQP Client for Erlang

Copyright © 2007-2013 GoPivotal, Inc.

Version: 3.7.4-rc.2

Authors: GoPivotal Inc. (



This application provides an Erlang library to interact with an AMQP 0-9-1 compliant message broker. The module documentation assumes that the programmer has some basic familiarity with the execution model defined in the AMQP specification.

The main components are amqp_connection and amqp_channel. The amqp_connection module is used to open and close connections to an AMQP broker as well as creating channels. The amqp_channel module is used to send and receive commands and messages to and from a broker within the context of a channel.

AMQP Record Definitions

Many of the API functions take structured records as arguments. These records represent the commands defined in the AMQP execution model. The definitions for these records are automatically generated by the rabbitmq-codegen project. rabbitmq-codegen parses a machine readable view of the specification and generates a header file that includes the entire command set of AMQP. Each command in AMQP has an identically named record. The protocol documentation serves as a reference for the attributes of each command.

Programming Model

For more information, refer to the Erlang AMQP client developer's guide on the RabbitMQ website.

RPC Components

The amqp_rpc_server module provides a generic building block to expose Erlang functions via an RPC over AMQP mechanism. The amqp_rpc_client provides a simple client utility to submit RPC requests to a server via AMQP.

Generated by EDoc