Habari Client for RabbitMQ is a library for Delphi and Free Pascal which provides access to the RabbitMQ free open source message broker.

With this library, developers can build integrated solutions, connecting cross language clients and protocols, using the peer-to-peer or the publish-and-subscribe communication model.


Habari Client for RabbitMQ is easy to install and configure, and provides a high-level API and programming model, based on connections, sessions, destinations, message producers, and message consumers. This design hides the internals of STOMP and many broker-specific implementation differences.

STOMP:// protocol adapter

The library uses the STOMP protocol for communication with the message broker. Internet Direct (Indy) or Ararat Synapse is required as the only dependency.

About the RabbitMQ open source message broker

RabbitMQ logo

RabbitMQ provides robust messaging for applications. It is easy to use, fit for purpose at cloud scale and supported on all major operating systems and developer platforms.

RabbitMQ is designed from the ground up to interoperate with other messaging systems: it is the leading implementation of AMQP, the open standard for business messaging, and, through plug-ins, supports STOMP, HTTP for lightweight web messaging, and other protocols.


Download Demo Download »

20 April 2018
Tested with
RabbitMQ 3.7.3
Chat, Performance test, Throughput test

A local installation of a message broker is required for Habari Client for RabbitMQ demo applications

Developer License

Habari Client for RabbitMQ

  • Instant electronic delivery
  • Full library source code included
  • Free redistribution with your product when used in binary compiled applications
  • Non-exclusive lifetime license
  • Updates included for one year after purchase
  • 60 day money back guarantee

Buy now »

Registered version

Code Example

Code for sending (producing) messages:

// Getting connection from the server and starting it

ConnectionFactory := TBTConnectionFactory.Create;
Connection := ConnectionFactory.CreateConnection;

// Messages are sent and received using a Session. We will
// create here a non-transactional session object. If you want
// to use transactions you should set the first parameter to 'true'

Session := Connection.CreateSession(False, amAutoAcknowledge);

// Destination represents here our queue 'ExampleQueue' on the
// server. You don't have to do anything special on the
// server to create it, it will be created automatically (except with Artemis and HornetQ).

Destination := Session.CreateQueue('ExampleQueue');

// MessageProducer is used for sending messages (as opposed
// to MessageConsumer which is used for receiving them)

MessageProducer := Session.CreateProducer(Destination);                
// We will send a small text message saying 'My hovercraft is full of eels' in Swahili:

TextMessage := Session.CreateTextMessage("Gari langu linaloangama limejaa na mikunga");
// Here we are sending the message



Quick Facts

Technical Information


Habari Client libraries are compatible with

  • Delphi 2009 (32 bit) and newer
  • Free Pascal 3.0.2
TCP/IP Libraries

The library includes communication adapter units for the free open source libraries

  • Internet Direct (Indy) 10.6
  • Ararat Synapse rev. 40
Logging Support for the SLF4P logging framework


Bug reports Bugs can be reported at cases@habarisoft.com
Email support Basic support is included for one year after purchase