RabbitMQ


This section describes some of the demos and example programs available for the RabbitMQ AMQP implementation.

Camstream - Streaming video over AMQP

Camstream uses AMQP to route live, streaming video from one or more webcams to one or more displays. A capture program injects frames into a named AMQP fanout exchange, and a corresponding playback program uses an anonymous auto-delete queue to retrieve a stream from a named exchange.

For more information, and to download or try out Camstream, please see the Camstream page.

Publicly-accessible Demonstration Broker Service

LShift are hosting a demonstration AMQP server that is freely available for people to try out, perhaps for testing interoperation or experimenting with WAN AMQP connections.

All supported RabbitMQ features are available on the server, including persistent storage. While we intend to keep the server running for long stretches, we will be tracking RabbitMQ development, so reserve the right to restart it, possibly erasing its database in the process from time to time.

Here are the connection details:

  • Host: dev.rabbitmq.com
  • Port: 5672
  • Username: guest
  • Password: guest
  • Virtual Host: localhost
  • Available realms: /data

Bundled examples

The Java client library distribution is shipped with a rabbitmq-client-tests.jar, containing several small example programs for exercising the functionality of the RabbitMQ server. The source code for these examples is in the java/test/src folder in the source distribution.

The script runjava.{sh,bat} runs Java with the class path correctly configured for the examples, e.g. runjava.sh com.rabbitmq.examples.TestMain runs the TestMain functional tests.

AMQP Protocol Capture/Analysis Tool

There's a very basic, very simple AMQP protocol analyzer in class com.rabbitmq.tools.Tracer. Invoke it with

runjava.sh com.rabbitmq.tools.Tracer listenPort connectHost connectPort

listenPort
port to listen for incoming AMQP connections on - defaults to 5673.
connectHost
hostname to use when making an outbound connection in response to an incoming connection - defaults to localhost.
connectPort
port number to use when making an outbound connection - defaults to 5672.

Experimental Code

Some experimental code that uses and extends RabbitMQ is available here.