CloudAMQP is a service which provides managed RabbitMQ servers in the cloud. For developers, it offers a free plan, called “Little Lemur”. Clients can connect using various protocols: AMQP, AMQPS, HTTPS, STOMP and MQTT. Dedicated plans do also have support for WEB-STOMP.
One outstanding feature of the popular Apache ActiveMQ message broker is its rich message conversion capability, which allows cross-platform/cross-language exchange by serialization of JMS object and map messages to XML or JSON. Non-Java clients do not have to support the native ActiveMQ wire protocol. Instead, they can use a simple protocol such as STOMP.
The RabbitMQ STOMP plugin supports advanced queue features, which can be defined in the management interface but also from clients when the queue is created. No matter how these features have been declared, RabbitMQ requires that the client specifies the same feature settings anytime when this queue is used.
In this blog post of 2014, Jerry Kuch describes a performance study of RabbitMQ on Google Compute Engine. It demonstrated the ability to receive and deliver more than one million messages per second (a sustained combined ingress/egress of over two million messages per second).
At this high rate of combined ingress (1,345,531 messages per second) and egress (1,413,840 messages per second), RabbitMQ was keeping up with load and that only 2,343 messages are temporarily accumulated in its queues awaiting delivery.
The Apache Software Foundation released ActiveMQ Artemis 1.4.0. The new release includes additions such as Interceptors on the MQTT Protocol, Reload configuration support, Improved support of AMQP and STOMP, and a number of improvements around stability, performance and HA.
About Apache ActiveMQ Artemis:
The Apache ActiveMQ Artemis message broker includes AMQP protocol support, OpenWire support for ActiveMQ 5 clients, STOMP protocol support, HornetQ Core protocol support for HornetQ 2.4, 2.5 clients, JMS 2.0 and 1.1 support. Read more
ActiveMQ Artemis client library for Delphi and Free Pascal
Habari Client for Artemis is a library for Delphi and Free Pascal which provides access to the ActiveMQ Artemis open source message broker. Habari Client libraries use STOMP for asynchronous communication and are available for six different message brokers.
Changes in this development snapshot include:
- improved DUnit and FPCUnit test organization
- x-message-ttl example project
- fix for /exchange destination subscriptions
- exchange destination example project
- SLF4P logging framework update
- minor fixes and core library changes
This development snapshot has been tested with RabbitMQ 3.6.5 (released 5 August 2016). It is available for registered users download in the snapshot folder.
The new release introduces support for the SLF4P logging facade library for Pascal (available on GitHub) and a new option to create output documents without indentation.
In the past, the separate “experimental” RESTful extension library only compiled with Delphi, as it used anonymous methods.
With version 2.0 / 2.1, the RESTful extension library now also compiles with Free Pascal, where it uses procedural types instead of anonymous methods.
In projects which must be single-source for Delphi and Free Pascal, usage of procedural types can be enforced by defining the symbol DARAJA_RESTFUL_COMPATIBLE.
Payara Server is an open-source application server derived from GlassFish Server Open Source Edition. If you need to exchange data between Delphi or Free Pascal code and Payara Server, you can follow these steps for a quick demonstration of the Habari Client for OpenMQ library from Habarisoft. This native library uses the platform-independent STOMP wire protocol for asynchronous, bidirectional message exchange with popular message brokers, including MQ 5.1.1, the default message broker in Payara Server 4.1.