RPC with Delphi client and Java server using RabbitMQ

The RabbitMQ online tutorial Remote procedure call (RPC) – using the Java client demonstrates how RPC can be implemented between a Java client and a Java server process, communicating over the RabbitMQ open source message broker.

But access to the RPC server process is not limited to Java applications – Delphi and Free Pascal applications using the Habari Client for RabbitMQ library can invoke the server process method too.

This article shows the code for a Delphi client which sends a RPC call message to the inbound RabbitMQ request queue, and receives the response message over a temporary queue, which exists only for the duration of the connection.

Continue reading

Habari Client for OpenMQ 2.5a1 released

May 7, 2013 – Habarisoft is pleased to announce release 2.5a1 of its
Delphi and Free Pascal client library for the Open MQ open source
message broker (http://mq.java.net/).

This is the first alpha of release 2.5, which introduces support for
Indy 10.6 and has been tested with build 14 of Open MQ 5.0, the
next-generation message broker version which implements JMS 2.0
(introduced with the new Java EE 7.0 specification). Continue reading

RabbitMQ 3.1.0 message broker released

The RabbitMQ team announced the release of RabbitMQ 3.1.0 – This release introduces eager synchronisation of mirror queue slaves, automatic cluster partition healing, and improved statistics (including charts) in the management plugin. It also adds many smaller new features, bug fixes and performance improvements.
The developers encourage all users of earlier versions of RabbitMQ to upgrade to this latest release.

For Delphi and Free Pascal, Habarisoft offers a client library for RabbitMQ 2.8.7 and newer.

Habari Client for HornetQ 2.0 released

April 2, 2013 – Habarisoft is pleased to announce release 2.0 of Habari Client for HornetQ. HornetQ is an open source project from the JBoss Community to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. HornetQ is the default Java Message Service (JMS) provider in JBoss Application Server, but can also used stand-alone.

This library provides Delphi and Free Pascal developers access to production-ready and industry standard based cross-platform application integration, using the peer-to-peer or the publish/subscribe communication model.

Continue reading

Habari Client libraries new versions released

The new release of Habari message broker client libraries introduces new features, including:

  • new connection parameter “send.receipt” to enable broker receipt confirmations for all outgoing messages
  • new connection parameter “disconnect.receipt” to enable broker receipt confirmations for disconnect operations
  • new connection parameter “tcp.keepalive” to enable TCP keep-alive (Indy only)
  • resource saving on-demand creation of threads for asynchronous message receive
  • improved support for heart-beating

The full release notes are included in the “Getting Started” PDF documentation.

Continue reading

Habari Chat: message exchange for Delphi applications

habarichatHabari Chat is a demo application for the Habari Client libraries, available with full source code and as executable in the demo downloads.

Sending broadcast messages

After choosing a chatroom name and a nickname, the user interface allows to send text messages. For system messages – for example when users enter or leave a chatroom – the code below is used:

Continue reading

Automatic reconnect with Habari message broker client libraries

The next release of Habari message broker client libraries includes an example for automatic reconnect in case of connection loss.

It uses two nested loops, where the outer loop connects and disconnects, and the inner loops processes (sends or receives) messages. If an exception occurs while sending or receiving data on the TCP socket, the program leaves the inner loop, closes the connection and restarts the outer loop.

Continue reading

Ubuntu 13.04 will ship with RabbitMQ 3.0.2 (or newer)

From the launchpad details, the rabbitmq-server included in Ubuntu 13.04 will be at least v3.0.2-1. From the release schedule the final freeze is upon us so it is unlikely that any newer version will be included.

For Delphi and Free Pascal, Habarisoft offers a client library for RabbitMQ wich has been tested with RabbitMQ 2.8.7 and RabbitMQ 3.0.4.

Habari Client open source message broker libraries

The next major versions of Habari message broker client libraries for Delphi and Free Pascal are close to release. The new versions introduce options for easier detection of connection loss, reduced resource usage for synchronous operation mode, improved support for heart-beating (on STOMP 1.1 capable message brokers), source code refactorings, and have been tested with the open source message brokers Apache ActiveMQ 5.8.0, Apollo 1,6, HornetQ 2.3.0.CR1, OpenMQ 4.5.3 and RabbitMQ 3.0.4.

Habari Client Libraries