Thursday, March 28, 2024
ExplainerIoT PlatformsIoT Software&Tools

ActiveMQ Apollo – ActiveMQ’s next generation of messaging

ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. It accomplishes this using a radically different threading and message dispatching architecture. Like ActiveMQ, Apollo is a multi-protocol broker and supports STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets.

In its current incarnation, ActiveMQ Apollo only supports the STOMP protocol but just like the original ActiveMQ, it’s been designed to be a multi protocol broker. In future versions it should get OpenWire support so it can be compatible with ActiveMQ 5.x JMS clients.

MQTT Compability

ActiveMQ Apollo allows clients to connect using the MQTT which is an open-source protocol specification intended for limited-resource devices on unreliable networks using a publish-subscribe domain. These types of devices usually require a small footprint and are not well suited for text-based protocols such as HTTP or STOMP or even traditional binary protocols such as Openwire or AMQP. MQTT is a compact binary protocol that is optimized for these types of limited devices and unreliable networks.

In previous releases, MQTT was supported in Apollo as a separate plugin. As of now, that plugin has become part of the main development trunk and MQTT support is available out of the box without any other configuration or packaging of third-party plugins.

Since MQTT is a wire-level protocol, any client that implements the protocol should be able to connect to Apollo and also interoperate with other MQTT-compatibe message brokers. Know more

Using the AMQP Protocol

Clients can connect to Apollo using the AMQP protocol. AMQP’s mission is “To become the standard protocol for interoperability between all messaging middleware”. Apollo implements version 1.0 of AMQP which has become an OASIS Standard.

It is recommend that you use an AMQP 1.0 client library like the one provided by the Apache Qpid Proton project in order to access this server or any other AMQP 1.0 server.

AMQP clients can connect to any of the default connectors that the default Apollo configuration opens up, but since AMQP has the IANA-assigned port of 5672 and 5671 for SSL secured AMQP, you might want to add the following configuration elements to your Apollo config file so that AMQP clients can more easily connect to Apollo.


<connector id="amqp" bind="tcp://0.0.0.0:5672"/>

<connector id="amqps" bind="ssl://0.0.0.0:5671"/>

READ MORE –Official documentation

Using the STOMP Protocol

Clients can connect to Apollo using the STOMP protocol. STOMP provides an interoperable messaging wire level protocol that allows any STOMP clients can communicate with any STOMP message broker. It aims to provide easy and widespread messaging interoperability among many languages, platforms and brokers.

Apollo supports the following versions of the STOMP specification:

  • STOMP 1.0
  • STOMP 1.1
  • STOMP 1.2

Using the OpenWire Protocol

Clients can connect to ActiveMQ Apollo using the OpenWire protocol. OpenWire is a binary, on-the-wire protocol used natively by ActiveMQ. It was designed to be a fast, full-featured, and JMS-compliant protocol for message brokers. Currently there are native client libraries for Java, C, C#, and C++. Further OpenWire support can be built by implementing language-specific code generators, however, for most cross-langauge needs, the STOMP protocol is best.

OpenWire was designed to be extended but yet backward compatible with older versions. When a client connects to the broker, the protocol version that’s used is negotiated based on what each can support.

Client Libraries

Apollo supports v3.1 of the MQTT protocol. The following clients will work:

To see an up-to-date listing of client libraries, please the MQTT website for its software listings.

Features

Web Administration

Apollo provides a simple web interface to monitor the status of the broker. Once the admin interface will be accessible at:

  • http://127.0.0.1:61680/ or https://127.0.0.1:61681/

The default login id and password is admin and password.

How To Install ActiveMQ Apollo

  1. Download the Apollo distribution that is most appropriate for your operating system. (for latest please visit official website)
  2. Extract the distribution archive:

    Unix/Linux/OS X

    tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz

    Windows

    jar -xvf apache-apollo-1.7.1-windows-distro.zip

The distribution will be extracted into a directory called, apache-apollo-1.7.1. The rest of this document will refer to the full path to this directory as ${APOLLO_HOME}.

Optional Windows Prerequisites

If you’re on Windows Vista, Server 2008, or later you should install the MS VC++ 2010 Redistributable package so that Apollo can use the JNI implementation of LevelDB.

 


You may like also:


 

 

Harshvardhan Mishra

Hi, I'm Harshvardhan Mishra. Tech enthusiast and IT professional with a B.Tech in IT, PG Diploma in IoT from CDAC, and 6 years of industry experience. Founder of HVM Smart Solutions, blending technology for real-world solutions. As a passionate technical author, I simplify complex concepts for diverse audiences. Let's connect and explore the tech world together! If you want to help support me on my journey, consider sharing my articles, or Buy me a Coffee! Thank you for reading my blog! Happy learning! Linkedin

One thought on “ActiveMQ Apollo – ActiveMQ’s next generation of messaging

  • Justin Bertram

    The ActiveMQ broker code-named Apollo has not been under development since 2015. The GitHub project has been archived, and ActiveMQ has a new next-generation broker code-named Artemis based on the HornetQ broker which was donated to the ActiveMQ community almost 6 years ago now.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *