Apache ActiveMQ

Apache ActiveMQApache ActiveMQ is a leading open source messaging platform. This fast and powerful message broker is written in Java, supports many cross language clients and protocols and is fully JMS-compliant. ActiveMQ also supports Enterprise Integration Patterns to ensure the communication fostering from more than one client or server, smart routing, transformation and many other robust patterns. With full stack of reliable features ActiveMQ outperforms many legacy proprietary messaging platforms.

ActiveMQ was specifically designed to support a wide range of protocols (such as AMQP, XMPP, Stomp, REST, OpenWire, and WS Notification) and language specific clients (like Python, PHP, JavaScript, Perl, etc.). Moreover, it is tested inside well-known J2EE servers such as TomEE, WebLogic, Geronimo, GlassFish and JBoss. ActiveMQ is concerned with security and ensures it via a default authorization mechanism using a simple XML configuration file, authentication with JAAS, or any other provider.

ActiveMQ ensures high performance load balancing of messages on a queue across consumers. It is delivered using clustering via three main features:

  • ‘Network of brokers’ provides distributed queues and topics across a network of brokers as well as scaling up to a massive number of clients in a network;
  • ‘Master Slave’ allows message replication and immediate failover from master to slave broker in order to avoid message loss in case of master broker breakdown.
  • ‘Replicated Message Store’ reduces the risk of message loss using HA backup or a full DR solution that can survive a data centre failure.

ActiveMQ service has both sync and async modes of sending messages to a broker. They influence latency and are used in different cases. Since async sending can drastically raise the system’s performance, this mode is usually applied by default. The only exception is JMS specifications that demand the usage of sync sends.

Among other important features are message groups, advisory message, delay and schedule message delivery, mirrored queues, message transformation, virtual destinations, wildcards, composite destinations, horizontal scaling and producer flow control. If needed, ActiveMQ can be easily integrated with the Spring applications and configured using Spring's XML configuration mechanism.

To extend functionality even more ActiveMQ has a sophisticated interceptor stack. It allows to insert additional functionality into the broker without complicating all other code and keeping it clean and modular. Interceptors help with logging, security, visualisation, destinations, timestamps, statistics.

Apache ActiveMQ is an open source messaging and Integration Patterns server that was build to support high performance clustering, client-server, and peer based communication. Its comes with technology agnostic and language neutral web based API for transient, transactional, persistent, and XA messaging. To know more, find detailed instructions or download ActiveMQ visit activemq.apache.org.