Habari Client for RabbitMQ is a library for Delphi and Free Pascal which provides access to the RabbitMQ 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.

Benefits

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:// communication adapter

The library uses the STOMP standard for asynchronous communication with the message broker. Internet Direct (Indy) or Ararat Synapse is required as the only dependency. Note that the ActiveMQ Apollo message broker (version 1.7) does not support rich message conversion between STOMP and other protocols.


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.

https://www.rabbitmq.com/

Demo applications

Download Demo Download (1.5 MiB) »

Version:
2.0
Date:
10 September 2014
Tested with:
RabbitMQ 3.3.5
Release notes:
Release notes in the "Getting Started" PDF and blog post
Demo applications:
Chat, Performance test, Throughput test

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

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 life-time license
✓ Updates included for one year
✓ 60 days money back guarantee

60days.png

Buy a license Buy a license »

Code Example

Code for sending (producing) messages:


// Getting connection from the server and starting it

ConnectionFactory := TBTJMSConnectionFactory.Create;
Connection := ConnectionFactory.CreateConnection;
Connection.Start;

// 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 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 'Hello!' in Hindi:

TextMessage := Session.CreateTextMessage("नमस्ते!");
   
// Here we are sending the message

Producer.Send(Message);

Connection.Close;
                

Quick Facts / Technical Information

Compilers Habari Client libraries are compatible with the compilers
✓ Delphi 2009+
✓ Free Pascal 2.6
For usage with Delphi 6 to 2007 please contact Habarisoft or check the FAQ.
TCP/IP Libraries The libraries include communication adapter units for the open source libraries
✓ Internet Direct (Indy) 10.6
✓ Ararat Synapse rev. 40
Logging Built-in optional support for the open source logging library Log4D.
100% Delphi No external libraries (DLL), compiles into the executable.
Issue tracking A web based bug tracking system is available (no login required).