Habari Client libraries release 2017.10

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

The 2017.10 release includes:

  • Habari Client for ActiveMQ 5.2 – tested with Apache ActiveMQ 5.14.5, 5.15.0 and 5.15.1
  • Habari Client for Artemis 5.2 – tested with Apache ActiveMQ Artemis 2.1.0, 2.2.0 and 2.3.0
  • Habari Client for OpenMQ 5.2 – tested with OpenMQ 5.1.1 (August 2017) and Payara Server 4.1.1
  • Habari Client for RabbitMQ 5.2 – tested with RabbitMQ 3.6.11, 3.6.12 and 3.7.0-rc.1 (on Erlang/OTP 20)

Unit test improvements

Apache ActiveMQ Artemis and RabbitMQ message brokers

The Habari Client DUnit test code now uses the REST API provided by Apache ActiveMQ , Apache ActiveMQ Artemis and RabbitMQ message brokers to prepare initial test environment and and to evaluate test conditions. (requires Indy and SuperObject library)

 

 

Other improvements

  • support user:passwort@host in connection URIs
  • fixed Delphi and Free Pascal compiler warnings
  • included example class TBTQueueRequestor
  • improved logging of connection failures
  • removed code which was required for older versions of Free Pascal
  • replaced PMString type with string

Download

The new version is available now for download from the Habarisoft server for registered users.

Requirements

The library requires Delphi 2009 or Free Pascal 3.0.2 (or newer).

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

Advertisements

Second snapshot of Habari Client libraries release 2017.10

Habarisoft released the second development snapshot of its Object Pascal STOMP client libraries for Delphi and FPC integration with popular free open source message brokers. The upcoming 2017.10 release includes:

  • Habari Client for ActiveMQ 5.2.0 – tested with Apache ActiveMQ 5.14.5, 5.15.0, 5.15.1
  • Habari Client for Artemis 5.2.0 – tested with Apache ActiveMQ Artemis 2.1.0, 2.2.0, 2.3.0
  • Habari Client for OpenMQ 5.2.0 – tested with OpenMQ 5.1.1 (August 2017) and Payara Server 4.1.1
  • Habari Client for RabbitMQ 5.2.0 – tested with RabbitMQ 3.6.11, 3.6.12 and 3.7.0-rc.1 (on Erlang/OTP 20)

Unit test improvements

Apache ActiveMQ Artemis and RabbitMQ message brokers

The Habari Client DUnit test code now uses the REST API provided by Apache ActiveMQ Artemis and RabbitMQ message brokers to prepare initial test environment and and to evaluate test conditions.

For Apache ActiveMQ Artemis, the library includes a small Indy-based client for the Jolokia based REST API for its JMX management interface.  A similar client is also planned for tests of Apache ActiveMQ, which also exposes its JMX interface through Jolokia.

For RabbitMQ, a similar Indy-based client API is included which accesses the proprietary management API of the RabbitMQ broker.

testswithrabbitmq3.7.0.rc1

 

Other improvements

  • support user:passwort@host in connection URIs
  • fixed Delphi and Free Pascal compiler warnings
  • included example class TBTQueueRequestor
  • improved logging of connection failures
  • removed code which was required for older versions of Free Pascal
  • tested with Lazarus 1.8 RC1 / FPC 3.0.4 RC1
  • replaced PMString type with string

Download

The development snapshot is available now for download from the Habarisoft server for registered users.

Requirements

The library requires Delphi 2009 or Free Pascal 3.0.2 (or newer).

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

Unit test enhancements based on broker Management API

Apache ActiveMQ, APACHE ACTIVEMQ Artemis and RabbitMQ message brokers SUPPORTED

For the upcoming Habari Client libraries release 2017.10, unit tests for three free open source message brokers now utilize a Indy-based management client to access  message broker proprietary management APIs:

  • Habari Client for ActiveMQ 5.2.0 – tested with the Apache ActiveMQ 5.15.0 message broker
  • Habari Client for Artemis 5.2.0 – tested with the Apache ActiveMQ Artemis 2.3.0 message broker
  • Habari Client for RabbitMQ 5.2.0 – tested with the RabbitMQ 3.6.12 message broker

CONDITIONAL SYMBOL

For backwards compatibility, the DUnit test suite does not access the management API by default. To enable it, the project options must define the conditional symbol HABARI_TEST_USE_MGMT_API and the DUnit test project must be rebuilt. (Free Pascal FPCUnit tests are not supported yet).

New Unit test methods

The base test class HabariTestCase now creates an instance of the management API client in its SetUp method if the symbol HABARI_TEST_USE_MGMT_API is defined. The base test class contains new check methods which may be used to write assertions in test case code, a method which creates a message queue, and a method to destroy (delete) a message queue to clean up the test environment before the test run.

CheckQueueSize(Expected: Integer; QueueName: string)

This method retrieves the current size of queue QueueName over the management API and fails if it does not equal the Expected value.

CheckQueueIsEmpty(QueueName: string)

This method retrieves the sizeof queue QueueName over the management API and fails if it does not equal zero.

CreateQueue(QueueName: string)

Creates the message queue over the management API.

DestroyQueue(QueueName: string)

Destroy the message queue over the management API.

Download

The first development snapshot is available now for download from the Habarisoft server for registered users.

About Habari Client libraries

The library requires Delphi 2009 or Free Pascal 3.0.2 (or newer).

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

Apache ActiveMQ Artemis 2.3.0 released

Aside

The Apache Software Foundation released Apache ActiveMQ Artemis 2.3.0.
Release notes: https://activemq.apache.org/artemis/release-notes-2.3.0.html
Documentation: https://activemq.apache.org/artemis/docs.html

Management Console

The new release introduces a web-based managment console.

About Apache ActiveMQ Artemis

The Apache ActiveMQ Artemis message broker includes AMQP protocol support, OpenWire support for ActiveMQ 5 clients, MQTT support, STOMP protocol support, HornetQ Core protocol support for HornetQ 2.4,2.5 clients, JMS 2.0 and 1.1 support.