Habari Client Libraries for Delphi and Free Pascal – new releases

New versions of all Habari message broker client libraries is available. The new release of Habari Client libraries introduces new features, including improved Free Pascal support:

  • New: Remote Procedure Call (RPC) demo program
  • New: Heart-beating tests using built-in STOMP server
  • New: Connection parameter “subscribe.receipt” to request and verify broker confirmations for subscriptions
  • New: Connection pool example implementation with demo project
  • New: Tested with Free Pascal 2.6.2
  • New: Tested with Indy 10.6
  • New: Support for mixed compiler modes with Free Pascal
  • Improved: ESynapseError exceptions will be re-raised from Receive operations

With Habari Client libraries, Delphi and Free Pascal developers can take advantage of message broker technology, which is distributed, loosely coupled, reliable and asynchronous, to build integrated systems, connecting clients using the peer-to-peer or the publish-and-subscribe communication model.

Habari Client libraries provide access to enterprise quality messaging solutions. Supported message brokers include Apache ActiveMQ, Apollo, HornetQ, Open MQ, and RabbitMQ.

Habari Client Libraries

Discover ActiveMQ brokers with Delphi XE4 and Indy 10.6

This article shows how Delphi can use IP multicast to discover running Apache ActiveMQ message brokers in the local network. The code has been tested with Internet Direct (Indy) 10.6, which is the version included in Delphi XE4, and Apache ActiveMQ 5.8, which is the current release of the open source message broker.

With the code below, a Delphi application can list all ActiveMQ brokers, see their status, and get their IP address. This allows for dynamic configuration of client applications (built for example with Habari Client for ActiveMQ), where systems do not need to know the location of message brokers. It also allows automatic handling of broker failures or maintenance windows without intervention.

Example output

The output shows that a broker was found, running on the computer ‘my-PC’. The URL part indicates that the broker provides a connector for the OpenWire protocol on port 61616.

Waiting for broker discovery messages ...
Brokers found:
default.ActiveMQ-4.alive.%localhost%tcp://my-PC:61616

Continue reading

Java EE 7 reference implementation GlassFish 4 released

GlassFish 4 – the first Java EE 7 application server – has been released. It is open source and available for download here – in two versions (Full Java EE platform and the Java EE Web Profile with reduced resource footprint) for Windows, Solaris, Linux and OS X.

New features include standardized API support for the WebSocket (JSR 356) and JSON (JSR 353) specifications, HTML5 support in the JavaServer Faces version 2.2, JMS 2.0, a Batch processing API (JSR 352), Concurrency support, and more. See also: GlassFish 4 Brings Java EE 7

Delphi and Free Pascal applications can be integrated in GlassFish (Full Java EE platform) web applications and web services using the Habari Client libraries from Habarisoft, which provide direct communication with the Open Message Queue (Open MQ) message broker, which is the default JMS provider in GlassFish 3 and 4.

Habari Client for OpenMQ

RPC with Delphi server and Java client using RabbitMQ (part 2 of 2)

This article shows the code for a Delphi server which receives a RPC call message from the inbound RabbitMQ request queue, and sends the response message back to the Java client. It is the mirror code for the previous article.

Continue reading

RPC with Delphi client and Java server using RabbitMQ (part 1 of 2)

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 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