Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service (JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server. Supported clients include Java via JMS 1.1 as well as several other "cross language" clients. The communication is managed with features such as computer clustering and ability to use any database as a JMS persistence provider besides virtual memory, cache, and journal persistency.
|Developer(s)||Apache Software Foundation|
5.15.0 / July 6, 2017
|Type||Java Message Service Message-oriented middleware Enterprise Messaging System SOA|
|License||Apache License 2.0|
ActiveMQ employs several modes for high availability, including both file-system and database row-level locking mechanisms, sharing of the persistence store via a shared filesystem, or true replication using Apache ZooKeeper. A robust horizontal scaling mechanism, called a Network of Brokers, is also supported out of the box. In the enterprise, ActiveMQ is celebrated for its flexibility in configuration, and its support for a relatively large number of transport protocols, including OpenWire, STOMP, MQTT, AMQP, REST, and WebSockets.
Coinciding with the release of Apache ActiveMQ 5.3, the world's first results for the SPECjms2007 industry standard benchmark were announced. Four results were submitted to the SPEC and accepted for publication. The results cover different topologies to analyze the scalability of Apache ActiveMQ in two dimensions.
ActiveMQ is currently in major version 5, minor version 15. There's also separate product called Apache ActiveMQ Artemis which is a complete rewrite of ActiveMQ 5, incorporating the donation of the HornetQ code base from Red Hat, and bringing the broker's JMS implementation up to the 2.0 specification.