Transaction support for message receipt acknowledgement
Transactional sending of messages was already supported in all versions of Habari Client libraries. Some library versions1 now also support commit and roll back for the acknowledgement of received messages. When a transaction is rolled back or the connection is closed without a commit, messages which have been acknowledged after the transaction start will return to unacknowledged state.
// 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;
Bug fixes and improvements
Bug fixes and improvements included in the next release (planned for Q1/2014):
- Authentication with empty credentials (user / 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
Discover more from Habarisoft Blog
Subscribe to get the latest posts sent to your email.