Habari Client for ActiveMQ is a library for Delphi and Free Pascal which provides access to Apache ActiveMQ, the popular 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 ActiveMQ 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 Apache ActiveMQ free open source message broker

ActiveMQ logo

Apache ActiveMQ™ is the most popular and powerful open source messaging and Integration Patterns server.

Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License


Download Demo Download »

20 April 2018
Tested with
ActiveMQ 5.15.3
Chat, Performance test, Throughput test

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

Developer License

Habari Client for ActiveMQ

  • 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