Version 10.2 of the Habari STOMP Client libraries moves two settings that used to require a recompile into ordinary properties on the connection, and fixes two defects that could stall or corrupt a connection at run time. As always, the same code works against all four supported brokers. New New: The maximum length of a STOMP … Continue reading PREVIEW: What’s New in Habari STOMP Client 10.2
PREVIEW: The timeout that wasn’t
Every read in the mORMot2 transport took a timeout parameter, and none of them honoured it. Here is why a Receive(1000) could wait forever, and what changed. Affects: mORMot2 comm adapter only Unaffected: Indy, Synapse Products: all Habari Client libraries (for ActiveMQ · Artemis · OpenMQ · RabbitMQ) Verified on: Delphi 2009, FPC 3.2.2 The symptom Select … Continue reading PREVIEW: The timeout that wasn’t
PREVIEW: Failover, configured from code
Connecting across a list of brokers no longer means recompiling the library. The failover: transport is now switched on at runtime, per connection, through a small interface on IConnection. Why the define had to go Habari has long understood a failover connection URL — failover:(stomp://a,stomp://b) — that tries each broker in turn and reconnects with backoff when a connection can … Continue reading PREVIEW: Failover, configured from code
PREVIEW: Setting the line‑length limit from code
A new MaxLineLength property on IConnection replaces the HABARI_X_MAXLINELENGTH compile‑time switch — so one application can raise the limit for one connection without rebuilding the library. Applies to The Indy transport. Synapse and mORMot2 accept the value and ignore it. New API IMaxLineLength in BTCommInterfaces, implemented by every IConnection. Supersedes HABARI_X_MAXLINELENGTH — still honoured, now with a deprecation warning. The problem Indy caps how long … Continue reading PREVIEW: Setting the line‑length limit from code
PREVIEW: Two runners, one executable
The unit tests used to need a window. Now the same Unittests program — Delphi's and Free Pascal's alike — runs headless the moment you hand it a parameter, and still comes up in its GUI runner when you don't. One set of test sources, compiled by two toolchains: Delphi runs them under DUnit, Free Pascal under … Continue reading PREVIEW: Two runners, one executable
Habari STOMP Clients Release 2026.02
Habarisoft released new versions of its Delphi and Free Pascal STOMP client libraries for integration with leading multi-protocol message brokers.
The Hidden Pitfalls of Using a Single TCP Connection in STOMP
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, two problems arise ...
Messaging for Web and Mobile with Apache ActiveMQ Classic
The presentation covered challenges with HTTP messaging, advantages of STOMP and MQTT protocols, and examples of using STOMP over WebSocket for browser messaging and MQTT for mobile apps.
Habari STOMP Clients Release 2025.06
Habarisoft released new versions of its native STOMP client libraries for Delphi and Object Pascal
Why MQTT Isn’t a Message Queue—and What It Really Is
Despite its name, MQTT (Message Queuing Telemetry Transport) does not provide message queuing in the traditional sense (like in systems such as RabbitMQ, IBM MQ, or ActiveMQ). Here's the clarification.