Implementation of several messaging patterns with RabbitMQ and AMQP
Erlang Shell
Switch branches/tags
Nothing to show
Clone or download
Latest commit 5929b22 May 16, 2011
Failed to load latest commit information.
include adds records for new patterns Apr 30, 2011
src general cleanup May 15, 2011
.gitignore first commit Feb 26, 2011 New LICENSE file Apr 30, 2011 improves README Apr 30, 2011
rebar first commit Feb 26, 2011
rebar.config cleaned up rebar.config Apr 30, 2011 improved script for REPL start up Apr 30, 2011

AMQP Messaging Patterns

This library has sample implementations of some of the patterns presented in the book Enterprise Integration Patterns.

The implementations are in Erlang using the rabbitmq-erlang-client.

To try these patterns you need a running RabbitMQ server.

The patterns implemented so far are:

  • Consumer: amqp_consumer.erl
  • Control Bus: amqp_control_bus.erl
  • Detour: amqp_detour.erl
  • Smart Proxy:
  • Wire Tap: amqp_wiretap.erl

To use these consumers/producers we have to understand the concept of "Control Enabled Endpoints" as explained in this blog post: An Army of Zombie Minions for RabbitMQ.


This library requires rebar to be installed.

Get the source code:

$ git clone git://

Prepare the dependencies:

$ cd rmq_patterns
$ mkdir deps
$ wget
$ wget
$ unzip -d deps amqp_client-2.4.1.ez
$ unzip -d deps rabbit_common-2.4.1.ez

Compile the source code:

$ rebar compile


Follow along this blog post An Army of Zombie Minions for RabbitMQ to see the sample usage.