Habari Client for OpenMQ is a library for Delphi and Free Pascal which provides access to the Open MQ 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 OpenMQ 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 Open MQ open source message broker

Open Message Queue (Open MQ) is an enterprise-quality, production-ready open source message-oriented middleware project.

Open MQ implements a reliable messaging mechanism to allow your applications to integrate together without relying on synchronous communications, and providing buffering between the message producers and message consumers. Open MQ provides a unified building block that enables asychronous, loosely coupled integration and provides a common framework for administration, control, and monitoring.

OpenMQ is the default JMS provider integrated into the GlassFish Java™ EE application server and the Payara application server.


Download Demo Download »

20 April 2018
Tested with
OpenMQ 5.1.1 (Aug 2017)
Chat, Performance test, Throughput test

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

Developer License

Habari Client for OpenMQ

  • 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