Habarisoft announces new release
Habari Client libraries are Delphi and Free Pascal libraries for application integration with five popular open source message brokers. Updated versions of these libraries are now available. New features and improvements in this release include improved support for transacted sessions, improved support of STOMP specification for message header properties, more unit tests and documentation, and bug fixes.
Tested with current message broker versions
The new release has been tested with the latest message broker versions: Apache ActiveMQ 5.9.0, Apollo 1.6, HornetQ 2.4.0.Final, Open Message Queue 5.0.1 and RabbitMQ 3.2.4
Transaction support for message receipt acknowledgement
To enable transacted message receive, use the CreateSession method with the transactional flag set to true and client message acknowledgment enabled (amClientAcknowledge instead of amTransactional) as shown below:
// receive in a transacted session Session := Connection.CreateSession(True, amClientAcknowledge); Queue := Session.CreateQueue(GetQueueName); Consumer := Session.CreateConsumer(Queue); Msg := Consumer.Receive(1000); // process the message ... // acknowledge the message Msg.Acknowledge; ... // in case of critical errors, roll back acknowledgements Session.Rollback;
After a transaction rollback or a connection close without commit, messages which have been acknowledged after the transaction start will return to unacknowledged state.
Now with 100+ DUnit and FPCUnit tests
Tests related to unsupported features are disabled / ignored automatically.
Bug fixes and improvements
- Authentication with empty credentials (login / passcode) values fails
- Support for encoded carriage return (“\r”) in STOMP 1.2 headers
- Support for equal signs and colons in STOMP headers
- Support for empty STOMP header values
- Compiler errors with Free Pascal 2.7.1
- Unit tests for wild-card destinations
- Unit tests for queue browser
1Tested with Apache ActiveMQ 5.9.0, Apollo 1.6 and RabbitMQ 3.2.3