Habari Client library tested with RabbitMQ 3.6.0 Milestone 2

The Habari Client library for Delphi and Free Pascal application integration with the RabbitMQ message broker passed the DUnit test suite against the Windows version of RabbitMQ 3.6.0 milestone 2, with one exception: durable topic subscriptions from Stomp 1.0, 1.1 and 1.2 failed to return messages which have been sent while the subscriber was inactive. Update: this issue can be resolved by setting the auto-delete header as explained in the RabbitMQ blog.

The 3.6.0 message broker release supports creating destinations with additional properties. So far, creating a queue with a maximum priority (x-max-priority) has been tested successfully. Other tests will follow. Update: see also the 3.6.0 RC 3 release notes.


Habari Client libraries release 2015.10

Habarisoft released new versions of Habari Client libraries for Delphi and Free Pascal application integration with free open source message brokers.

Tested with current message broker versions

  • Apache ActiveMQ 5.12
  • Apollo 1.7.1
  • HornetQ 2.4.5.Final
  • Open MQ 5.1.1 b02
  • RabbitMQ 3.5.6

Improvements in this release

♦ RabbitMQ workaround

A workaround is included for a breaking change in version 3.5.4 of RabbitMQ (and newer).

♦ Support for text content types in RabbitMQ

All messages which have a content type starting with ‘text/’ are treated as text messages.

♦ Deletion of durable subscriptions in RabbitMQ

Deleting durable subscriptions from the client now works as expected.

♦ SSL support activation

The new conditional symbol HABARI_SSL_SUPPORT enables SSL support code. (Important note: SSL is an optional feature, no support is included in the basic support plan).

♦ Removed deprecated functions

Deprecated functions in TJMSConnectionFactory have been replaced by constants in BTBrokerConsts.

♦ HOST header in CONNECT frame

The method TBTStompClient.AddConnectOptions no longer adds a ‘default’ HOST header.

♦ Receipt frame check

A bug has been fixed which caused the client to not wait for a receipt frame.

♦ Frequently asked questions

The Getting Started document now includes a new section with frequently asked questions

Online resources

Previous version release notes: Habari Client libraries release 2015.06

Habari Client Libraries

Habari Client for Artemis 1.0 RC1 Performance Test

About Habari Client for Artemis

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

Test Environment

Test Setup

The throughput test application runs two threads, sending and receiving from a topic destination, using two STOMP 1.2 connections.


After a short warm-up time, every second approximately 15,000 messages are sent and received from the Delphi application to the message broker. In total, more than 30,000 messages per second flow between the message broker and the Delphi application.


Connecting Delphi applications with WildFly 10 (part 2)

The previous post listed the basic configuration steps which are required to exchange messages with the default message broker in the WildFly 10 open source application server. This configuration allowed us to run the Habari Client for Artemis chat example application with WildFly 10.

Now we would like to see some interaction with a Java EE 7 program. This article shows the Java code for a simple “chat bot”-like Message-Driven Bean. which logs all messages sent from the Delphi chat client(s) and responds to specific messages.

The program is able to do two things:

  • log all messages sent to the ExampleTopic destination from all instances of the Delphi chat application which are connected to the ActiveMQ Artemis message broker in WildFly 10
  • automatically reply to specific messages (similar to a “chat bot”)

As shown in the first part of this article, you can use the Delphi chat demo to send messages to the example topic. If you enter one of the strings which are handled by the source code, the server reply will appear in the client. Note that the reply will appear in every client, if more than one instance of the chat client is connected to the server.

Neue Bitmap

Continue reading

Connecting Delphi applications with WildFly 10 (part 1)

If you wish to exchange messages between Delphi or Free Pascal applications and the WildFly 10 open source application server, follow these steps for a quick demonstration of the new client library from Habarisoft:

  1. download WildFly 10.0.0.CR2
  2. enable STOMP and add the ExampleTopic destination in the standalone-full.xml configuration file (see below)
  3. use add-user.bat to add user guest with password guest and role guest
  4. start WildFly with the standalone-full profile
  5. download the Habari Client for Artemis 1.0-RC1 demos
  6. launch HabariChat with user guest and password guest


Continue reading

Habari Client for ActiveMQ Artemis 1.0 RC1 released

Habarisoft announces the first release candidate of its Object Pascal STOMP client library. Habari Client for Artemis is a library which provides access to the ActiveMQ Artemis free open source message broker.

The release candidate has been tested with ActiveMQ Artemis 1.0.0, Indy 10.6.2 5302, Free Pascal 2.6.4, Lazarus 1.4.2 and Delphi 2009.

About Habari Client for Artemis
Habari Client for Artemis 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.

Habari Client for Artemis home page:

About Apache ActiveMQ Artemis:
Apache ActiveMQ Artemis has a proven non blocking architecture. It delivers outstanding performance. Its features include AMQP protocol support, OpenWire support for ActiveMQ 5 clients, STOMP protocol support, HornetQ Core protocol support for HornetQ 2.4,2.5 clients, JMS 2.0 and 1.1 support.

ActiveMQ Artemis home page: https://activemq.apache.org/artemis/


Habari Client Libraries