Mule AMQP Transport
Java Shell

Mule AMQP Transport

Read the complete user guide.

Or check the MuleStudio Plug-In installation and demo documentation.

Supported AMQP Versions

This transport is based on the RabbitMQ Java Client, which is compatible with brokers supporting AMQP version 0.9.1.


  • Inbound message receiving via subscription to existing or declared exchanges and queues.
  • Outbound message publication to existing or declared exchanges.
  • Outbound request-response pattern supported via temporary reply queues.
  • Inbound and outbound transaction support, with optional channel self-recovery.
  • Synchronous Message requesting with time-out.
  • Passive or active-only exchange and queue declarations.
  • Support for connection fallback accross a list of AMQP hosts.
  • Support of all AMQP's message properties, including custom headers.
  • Support of reply to (publishing replies to the default exchange).
  • Support of automatic, Mule-driven and manual message acknowledgment.
  • Support of manual message rejection.
  • Support of manual channel recover.
  • Support of the default exchange semantics in outbound endpoints.
  • Support of mandatory and immediate publish parameters and handling of returned (undelivered) messages.
  • Support of prefetch size and count "quality of service" settings.
  • Support of noLocal and exclusive consumers.
  • Support of custom exchange and queue arguments.
  • Support for SSL connectivity.

Integration Testing


mvn -Pit clean verify

The integration tests rely on a locally running RabbitMQ broker with a default configuration. They have been run using a RabbitMQ installation from Homebrew ( set up with the configuration found in /mule-transport-amqp/src/it/resources/ssl/rabbit/rabbitmq.config (in case of running with JDK6 please use rabbitmq-jdk6.config which is in the same folder).

If you have a different configuration, you can use the following arguments:

-DamqpPort=6666 -DamqpSslPort=6665 -DamqpVirtualHost=/ -DamqpUserName=guest \
-DamqpPassword=guest -DamqpHost=localhost

If you have configured SSL support on RabbitMQ as detailed here on the default port you can include the SSL tests by running:

mvn -Pit -DrunAmqpsTests=true clean verify

Maven Support

Add the following repository:

  <name>MuleForge Repository</name>

To add the Mule AMQP transport to a Maven project add the following dependency: