Frequently Asked Questions (FAQ)

Questions about the Habari STOMP Client libraries for ActiveMQ, Artemis, OpenMQ and RabbitMQ: Use Cases · General · Licensing · Pricing and subscription · Distribution · Updates and cancellation · Legal · Technical

Use Cases

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.

General

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 purchase.

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.

Licensing

By purchasing a license you agree to the license and to our Terms of Service. The full license text is linked next to the order button on each product page.

Yes, each developer who writes, modifies or maintains code that uses the library needs their own developer seat. Build servers, continuous integration systems, testers and end users of your applications do not need a seat.

Yes. The license is offered to business customers only, including freelancers acting in their professional capacity; it is not offered to consumers. The subscription is priced per developer seat, so a single developer simply buys one seat. The same license terms apply to freelancers and companies.

Pricing and subscription

The introductory price is €30.00 per developer seat for the first 3 months. After that, the subscription continues at €120.00 per developer seat per year, renewing annually unless cancelled. There are no royalties or runtime fees. See the price list.

The first 3 months are a full license at a reduced price, not a limited trial. You can cancel at any time during the introductory period; if you do, the subscription ends at the end of the 3 months and will not renew.

Yes. After the introductory period the subscription renews annually until you cancel. You can cancel at any time before the next renewal date.

No. Your net price will not increase for as long as you keep renewing. Only tax or fees (such as VAT or payment-provider charges) can vary, if the applicable rate changes.

Orders are processed by Paddle, our online reseller and merchant of record. Paddle issues the invoice and handles sales tax and VAT. Business customers in the EU can enter a valid VAT ID at checkout to have VAT removed under the reverse-charge procedure. If you omitted the VAT ID, you can use the customer portal to update your order.

Yes, please 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.

Because the full source code is delivered with the library, licenses are not refundable. We recommend evaluating the library with the free demo applications before you buy. You can stop any future renewal by cancelling in time.

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.

Distribution

Yes. The library is compiled into your application, which you may distribute, and your customers may install and run it on their own computers. Your customers do not need their own license unless they develop with the library themselves.

No, you may distribute your applications in executable (compiled) form royalty-free, to any number of users. An attribution in your applications is not required.

Yes. Licensees may modify the source code for use in their own applications and are not required to publish those changes.

No, the source code is not redistributable, even if you change it. Compiled library units are also not redistributable.

Updates and cancellation

Yes, all minor and major updates are included until the subscription expires.

Your license is perpetual for the library version that was current when your subscription started and for all versions released while it was active. After cancellation you may continue to develop with those versions, and to use, sell and distribute applications built with them. Versions released after your subscription ended are not covered; to use them, renew your subscription.

Your Paddle invoices show your subscription period. Together with the release dates in the release notes, they document which versions are covered by your license: the version current when your subscription started, and every version released while it was active. We recommend keeping the invoices and noting the library version you use in your project. See the release notes.

Depending on the network library you choose, the library uses Internet Direct (Indy), Synapse or mORMot 2, and slf4p for logging. These are published under their own open source licenses. The Habari license covers the Habari library only. The licenses of these libraries allow commercial use, but you should follow their terms when you distribute your application.

The license is governed by German law. See also our Terms of Service.

Technical

Only a network library is required. Please check the feature matrix for available options.

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.

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.