With Habari STOMP Client libraries, Object Pascal applications can seamlessly integrate with message broker and message queue technology. Designed for distributed, reliable, and asynchronous communication, they enable developers to build integrated systems using both peer-to-peer and publish/subscribe models.
Use coupon code habari202510 with your order of any Habari Client Library Single Developer License (regular price: €125.00). Cannot be combined with any other offers or discounts.
In the order form, you may add your company's VAT ID after filling in all mandatory fields. If you omitted the VAT ID, you can use the customer portal to update your order.
view_comfy
Use the feature matrix below to compare the broker-specific capabilities and extra features.
get_app
For information on a specific library, choose a version from the top menu or in the matrix header below.
![]() — Release 2025.08 — |
Habari STOMP Client for ActiveMQ | Habari STOMP Client for Artemis | Habari STOMP Client for OpenMQ | Habari STOMP Client for RabbitMQ |
---|---|---|---|---|
Tested with | ActiveMQ 6.1.6 | ActiveMQ Artemis 2.40.0 | Eclipse OpenMQ 6.5.0 | RabbitMQ 4.1.0 |
STOMP version support | ||||
Version 1.0/1.1/1.2 | ⧂/ ⧂/✓ | ⧂/ ⧂/✓ | ⧂/ ⊝/✓ | ⧂/ ⧂/✓ |
⧂ Note: the outdated STOMP versions 1.0 and 1.1 are not covered by free basic technical support.
⊝ - Not supported by message broker STOMP implementation. |
||||
STOMP optional features | ||||
Ack Mode: auto/client/client-individual | ✓/✓/✓ | ✓/✓/✓ | ✓/✓/✓ | ✓/✓/✓ |
Receipt Requests | ✓ | ✓ | ✓ | ✓ |
Heart-beating | ✓ | ✓ | ⊝ | ✓ |
Transacted Send | ✓ | ✓ | ✓ | ✓ |
Transacted Ack | ✓ | ⊝ | ⊝ | ✓ |
⊝ - Not supported by message broker STOMP implementation. |
||||
Broker-provided STOMP extensions | ||||
Message Expiration | ✓ | ✓ | ✓ | ✓ |
Message Priority | ✓ | ✓ | ✓ | ✓ |
Persistent Messages | ✓ | ✓ | ✓ | ✓ |
Rich Message Conversion | ✓ | ✓ | ✓ | ✓ |
Topic Destinations | ✓ | ✓ | ✓ | ✓ |
Queue Destinations | ✓ | ✓ | ✓ | ✓ |
Durable Topics | ✓ | ✓ | ✓ | ✓ |
Temporary Queues | ✓ | ⊝ | ✓ | ✓ |
Message Selector | ✓ | ✓ | ✓ | ⊝ |
Queue Browser | ✓ | ✓ | ⊝ | ⊝ |
⊝ - Not supported by message broker STOMP implementation. |
||||
Testing | ||||
DUnit Tests | ✓ | ✓ | ✓ | ✓ |
FPCUnit Tests | ✓ | ✓ | ✓ | ✓ |
Unit test source code | ✓ | ✓ | ✓ | ✓ |
Documentation | ||||
API (HTML) | ✓ | ✓ | ✓ | ✓ |
Getting started (PDF) | ✓ | ✓ | ✓ | ✓ |
Example code | ✓ | ✓ | ✓ | ✓ |
Compiler | ||||
Delphi 2009+ | ✓ | ✓ | ✓ | ✓ |
Free Pascal 3.2.2+ | ✓ | ✓ | ✓ | ✓ |
TCP/IP libraries | ||||
Internet Direct (Indy) 10.6.3 | ✓ | ✓ | ✓ | ✓ |
Note: free basic technical support does not cover other TCP/IP libraries (e.g. Ararat Synapse). | ||||
Logging | ||||
SLF4P (optional) | ✓ | ✓ | ✓ | ✓ |
Platforms | ||||
Windows 32 Bit (Delphi/FPC) | ✓/✓ | ✓/✓ | ✓/✓ | ✓/✓ |
Windows 64 Bit (Delphi/FPC) | ✓/✓ | ✓/✓ | ✓/✓ | ✓/✓ |
Note: free basic technical support for IDE/platform-related issues only covers Delphi and Lazarus 3.x IDEs on Windows. | ||||
Additional information | ||||
Source included | ✓ | ✓ | ✓ | ✓ |
Release date | 22 August 2025 | 22 August 2025 | 22 August 2025 | 22 August 2025 |
Typical use cases of message brokers include: load balancing (distributed processing), client notification in multi-tiered applications, dynamically configuring and controlling software, alerting and logging, and integration with ISAPI, PHP, .NET, Python or Jakarta EE based web applications.
Yes, basic technical support via email is included until the subscription expires. Advanced and experimental features such as (for example) SSL/TLS, third party libraries, Linux, non-Unicode Delphi versions and message broker configuration are not covered by the basic technical support plan.
On the library home page you will find a link to the download area for registered users. The credentials (user name and password) will be sent to you after puchase.
A trial version with precompiled units (DCU) is not available. To see if the library works, you may use the free demo applications which are included in the demo download file. Also, you may contact Habarisoft to receive additional source or binary code examples.
Yes, the full library source code is included in the installer.
By purchasing a license, you agree to our Terms of Service.
Yes, each developer that uses our products must have their own license.
No, the licenses are perpetual. However, you will be using the last product version released before your subscription expired.
Yes, all minor and major updates are included until the subscription expires.
A download link will be sent within 48 hours. If you do not receive the mail in your inbox, please check your spam or junk folder. If you still cannot locate it, please contact us.
Yes, p lease contact us, and we’ll send you a Paddle manual invoice with the necessary details. Manual invoices allow payment by wire transfer or by other means, such as a credit card.
You will have a one-time opportunity to update the names, tax ID, and address on your invoice on the customer portal page.
Please visit the customer portal page.
No, the source code is not redistributable, even if you change it. Compiled library units are also not redistributable.
Only a network library is required. Please check the feature matrix for available options.
Indy is hosted on GitHub at https://github.com/IndySockets/Indy.
No, just add the Indy directories Lib\Core, Lib\Protocols and Lib\System to the project search path. The Indy version which is included in Delphi may remain unchanged.
Yes, all library versions support transactional sending of messages. Transactional message ack currently is provided for ActiveMQ and RabbitMQ.
Yes, when it is used correctly and as designed, no memory leaks will appear.
Yes, service applications can use the library to communicate with the message broker, if connections are not used concurrently by different threads.
Yes, ISAPI DLL modules can use the library to communicate with the message broker, if connections are not used concurrently by different threads.
No, using a connection concurrently by different threads is unsafe. If different threads need to communicate with the message broker, every thread must use its own IConnection object.
This is not recommended. STOMP is layered on top of TCP, which is a byte stream, not message-oriented. When you use a single TCP connection for both sending client frames and receiving server frames, problems arise. For a detailed explanation, please read the FAQ section in the Getting Started document (version 9.5 or newer).
No, the library only supports the STOMP wire format.
The library includes two experimental adapter classes for usage with OpenSSL, one for Indy (Internet Direct) and one for Synapse. Technical support for these adapter classes and OpenSSL configuration is not included in the basic support package.
New since release 2025.06: API documentation generated with Doxygen 1.14.0
Advanced Chemistry Development
aim Systems
Airport Business Information Systems - Hamburg Airport
Altron HealthTech
Bangkok Medical Software
Baxter Healthcare
BD Kiestra
C.A. Shea & Company
DrillScan
Emsisoft
Fen Technology
Intelligence Data Communication
Kokusai
Light & Wonder
logiCells
MESAS
ModivCare
peptides & elephants
Pfizer Manufacturing Belgium
Prime Vision
Polaris Elements
Retail Pro International
STEMCELL Technologies
Taiwan Semiconductor Manufacturing Company (TSMC)
Thum+Mahr
VECTRONIC Aerospace