Habari Client libraries 2018.02 released

Habarisoft released new versions of its Object Pascal STOMP client libraries for Delphi and FPC integration with popular free open source message brokers.

  • Habari Client for ActiveMQ 5.3.0 – tested with Apache ActiveMQ ActiveMQ 5.15.1, 5.15.2, 5.15.3
  • Habari Client for Artemis 5.3.0 – tested with Apache ActiveMQ Artemis 2.3.0 and 2.4.0
  • Habari Client for OpenMQ 5.3.0 – tested with OpenMQ 5.1.1 (August 2017)
  • Habari Client for RabbitMQ 5.3.0 – tested with RabbitMQ 3.6.15, 3.7.2 and 3.7.3


Major changes in release 2018.02

Receipt requests

The library now supports connection URL parameters for receipt request configuration – receipt requests can be configured for the SUBSCRIBE, UNSUBSCRIBE, SEND, ACK, NACK, BEGIN, COMMIT, ABORT and DISCONNECT frame, the client raises an exception if it the receipt does not arrive in time. Note: this is work in progress.

Connection URL validation

The library detects invalid connection URL parameter names and raises an exception if it contains unknown parameters. The detection can be switched off with a conditional symbol (HABARI_ALLOW_UNKNOWN_URL_PARAMS). Note that parameters are case sensitve.

Minor changes

  • Method StompProtocolVersion of the IConnectionInfo interface returns the protocol version of the active connection
  • Use the ConnectTimeout value also as read time-out for the CONNECTED frame
  • Fixed logging output of connect time out in TBTStompClient.Connect
  • Add test cases for TBTConnectionFactory.ConnectTimeOut (Indy only)
  • Fixed unit tests for ActiveMQ Artemis (uses send.receipt)
  • Fixed reply-to parameter handling for OpenMQ
  • Fixed empty subscription header in reply-to messages
  • Removed unused properties in TBTMessageConsumer
  • Documentation updates: (deprecation list, limitations with Free Pascal)
  • Tested with Free Pascal 3.0.4 / Lazarus 1.8

Unit test changes:

  • The unit test suite includes a stub STOMP server for heart-beat tests, the server is derived from the Indy TCP server implementation TIdCustomTCPServer and runs embedded in the unit test executable


The library requires Delphi 2009 or Free Pascal 3.0.2 (or newer).

habari_logo_2016Habari Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.