Version 10.2 of the Habari STOMP Client libraries for Delphi and Free Pascal is now available for ActiveMQ, Artemis, OpenMQ and RabbitMQ. It turns two compile-time options into run-time settings and fixes two defects that could stall or corrupt a connection.
New
- Line-length limit at run time. Cast the connection to
IMaxLineLengthand setMaxLineLengthbefore callingStart. This helps when a broker sends long header lines, such as a large authentication token or a long selector, and Indy raisesEIdReadLnMaxLineLengthExceeded. This setting replaces theHABARI_X_MAXLINELENGTHdefine. - Failover from code. Enable the
failover:(uri1,uri2,...)transport with(Connection as IFailoverProtocol).EnableFailoverProtocol := True. You no longer need to recompile withHABARI_ENABLE_FAILOVER_PROTOCOL. - Logging notice. A build with
HABARI_LOGGINGnow reports at compile time and at startup that logging is included, so a diagnostic build is not shipped unnoticed.
Fixed
- mORMot 2 connection:
Receivewith a time-out no longer blocks forever when no message arrives. - Reconnecting: a new connection no longer reuses the protocol version negotiated for the previous one.
Please note
- The
HABARI_X_MAXLINELENGTHandHABARI_ENABLE_FAILOVER_PROTOCOLdefines are deprecated. They still work, but please move to the new properties. - The define
HABARI_DEPRECATED_MESSAGELISTENERhas been renamed toHABARI_BROKEN_MESSAGELISTENER. A project that still uses the old name will not compile until you rename it. Apart from this, 10.2 has no breaking changes.
Tested with ActiveMQ 6.3.2, Artemis 2.57.0, OpenMQ 6.9.0, RabbitMQ 4.3.6 and Indy 10.6.3.14.
The full release notes are at https://www.habarisoft.com/release_notes.html. Registered users can download the new version now.