Habari STOMP Client libraries release 2023.06

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

This version contains a new decoder for STOMP header lines.

Full release notes can be found at: https://www.habarisoft.com/release_notes.html

Home page and demo applications

Home page: https://www.habarisoft.com/

About Habari STOMP Client libraries

habari_logo_2016

Habari STOMP Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

The libraries are available for the open source message brokers ActiveMQ, ActiveMQ Artemis, Eclipse OpenMQ and RabbitMQ. ActiveMQ and OpenMQ are also serving as default messaging subsystems in Enterprise Application Servers such as GlassFish, Payara, TomEE+ or WildFly.

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

Advertisement

Habari STOMP Client libraries release 2023.04

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

This version is mainly a maintenance release and tested with the latest message broker versions.

Full release notes can be found at: https://www.habarisoft.com/release_notes.html

Home page and demo applications

Home page: https://www.habarisoft.com/

About Habari STOMP Client libraries

habari_logo_2016

Habari STOMP Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

The libraries are available for the open source message brokers ActiveMQ, ActiveMQ Artemis, Eclipse OpenMQ and RabbitMQ. ActiveMQ and OpenMQ are also serving as default messaging subsystems in Enterprise Application Servers such as GlassFish, Payara, TomEE+ or WildFly.

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

Habari STOMP Client libraries release 2023.02

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

This major version introduces new communication adapters for mORMot 1 and mORMot 2.

Full release notes can be found at: https://www.habarisoft.com/release_notes.html

Home page and demo applications

Home page: https://www.habarisoft.com/

About Habari STOMP Client libraries

habari_logo_2016

Habari STOMP Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

The libraries are available for the open source message brokers ActiveMQ, ActiveMQ Artemis, Eclipse OpenMQ and RabbitMQ. ActiveMQ and OpenMQ are also serving as default messaging subsystems in Enterprise Application Servers such as GlassFish, Payara, TomEE+ or WildFly.

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

Habari Client libraries release 2022.12

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

Release notes can be found at: https://www.habarisoft.com/release_notes.html

Home page and demo applications

Home page: https://www.habarisoft.com/

Habari Client libraries release 2022.08

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

Release notes: https://www.habarisoft.com/release_notes.html

Further resources and demo applications

Home page: https://www.habarisoft.com/

About Habari Client libraries

habari_logo_2016Habari Stomp Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

Habari Client libraries release 2022.08

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

Release notes: https://www.habarisoft.com/release_notes.html

This version is the first which makes uses of Generics, supported by Delphi 2009 / Free Pascal 3.2.0 and newer. It also supports repeated header entries as specified in STOMP 1.2 specification: Repeated Header Entries.

The version for ActiveMQ includes a small example for using Stomp with TomEE+ (Jakarta EE 9.1) (see this blog article). The version for Eclipse OpenMQ includes a small example for using Stomp with Payara 5 (Jakarta EE 9.1). The examples are in the demo-broker folder.

The Chat example has been updated to improve its exception handling.

Full Release notes can be found at https://www.habarisoft.com/release_notes.html

Further resources and demo applications

Home page: https://www.habarisoft.com/

About Habari Client libraries

habari_logo_2016Habari Stomp Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

Habari Client libraries release 2022.06

Habarisoft released new versions of its native STOMP client libraries for Delphi / Object Pascal for integration with popular open source message brokers:

Release notes: https://www.habarisoft.com/release_notes.html

Further resources and demo applications

Home page: https://www.habarisoft.com/

About Habari Client libraries

habari_logo_2016Habari Stomp Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

Habari Client libraries release 2022.02

Habarisoft released version 2022.02 of its Object Pascal STOMP client libraries for Delphi and Free Pascal integration with popular free open source message brokers.

Further resources and demo applications

Home page: https://www.habarisoft.com/

Release notes: https://www.habarisoft.com/release_notes.html

About Habari Client libraries

habari_logo_2016Habari Stomp Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

Habari Client libraries release 2021.12

Habarisoft released version 2021.12 of its Object Pascal STOMP client libraries for Delphi and Free Pascal integration with popular free open source message brokers.

Further resources and demo applications

Home page: https://www.habarisoft.com/

Release notes: https://www.habarisoft.com/release_notes.html

About Habari Client libraries

habari_logo_2016Habari Stomp Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.

Habari Client libraries: new demo and example resources for WildFly and RabbitMQ

Using non-durable queues on RabbitMQ

RabbitMQ supports durable and non-durable (‘transient’) queues. By default, a queue created using a STOMP client is durable, which means the queue will survive a broker restart (see AMQP 0-9-1 Model Explained). Non-durable queues on a RabbitMQ server may not be created using STOMP , but they may be accessed by STOMP clients.

Example code is now available here: Non-durable queue example for RabbitMQ 

Connect with WildFly 25 Final

Red Hat released the WildFly 25 Final application server earlier this month. If you want to integrate Delphi or Free Pascal applications with WildFly, you can follow the steps in this article to configure the embedded Apache ActiveMQ Artemis message broker in WildFly, and connect your applications with the message broker using a STOMP connection.

Blog post: Connect Delphi and Free Pascal applications with WildFly 25 Final

New Chat Demo

The upcoming version of Habari Client libraries includes an improved chat demo application. Screenshots and a summary of the major changes can be found here: New Chat Demo. Registered users may receive a preview version of the chat demo application.

Using Streams (x-stream-offset) with RabbitMQ

Streams are a new persistent and replicated data structure in RabbitMQ 3.9 which models an append-only log with non-destructive consumer semantics. The SUBSCRIBE frame supports a x-stream-offset header to specify the offset to start consuming from in a stream.

The upcoming version of Habari Client for RabbitMQ includes example code which consumes messages from a stream, starting at a random offset.

Context.Start;
QueueArgs := Format('x-queue-type=stream&x-stream-offset=offset=%d&prefetch-count=10', [AStreamOffset]);
Destination := Context.CreateQueue(AQueueName + '?' + QueueArgs);
Consumer := Context.CreateConsumer(Destination);
Writeln(Format('Reading %d messages from destination %s, starting at offset %d ...',
  [READ_COUNT, AQueueName, AStreamOffset]));
I := 1;
Msg := Consumer.Receive(100) as ITextMessage;
while Assigned(Msg) do
begin
  Msg.Acknowledge;
  WriteLn(Format('Message %d received and acknowledged, content="%s"', [I, Msg.Text]));
  Inc(I);
  if I > READ_COUNT then Exit;
 Msg := Consumer.Receive(100) as ITextMessage;
end

New message broker releases

  • ActiveMQ 5.16.3 (released 17 August 2021)
  • ActiveMQ Artemis 2.19.0 (released 18 October 2021)
  • RabbitMQ 3.9.8 (released 19 October 2021)

Further resources and demo applications

Home page: https://www.habarisoft.com/

About Habari Client libraries

habari_logo_2016

Habari Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.