Apache ActiveMQ es un agente de mensajes de código abierto escrito en Java junto con un cliente completo de Java Message Service (JMS). Proporciona "características empresariales", lo que en este caso significa fomentar la comunicación desde más de un cliente o servidor. Los clientes compatibles incluyen Java a través de JMS 1.1, así como varios otros clientes "multilenguaje". [2] La comunicación se gestiona con características como la agrupación de equipos y la capacidad de utilizar cualquier base de datos como proveedor de persistencia JMS además de la memoria virtual , la memoria caché y la persistencia del diario . [3]
Existe otro bróker bajo el paraguas de ActiveMQ cuyo nombre en código es Artemis . Se basa en el código base de HornetQ que fue donado [4] de la comunidad JBoss a la comunidad Apache ActiveMQ en 2015. Artemis es el bróker de "próxima generación" de ActiveMQ y, en última instancia, se convertirá en la próxima versión principal de ActiveMQ. (En 2024, esto parece haber sucedido, consulte https://activemq.apache.org/components/artemis/) [5]
El proyecto ActiveMQ fue creado originalmente por sus fundadores de LogicBlaze [6] en 2004, como un agente de mensajes de código abierto, alojado por CodeHaus. El código y la marca registrada ActiveMQ fueron donados a la Apache Software Foundation en 2007, donde los fundadores continuaron desarrollando el código base con la comunidad ampliada de Apache.
ActiveMQ utiliza varios modos de alta disponibilidad, incluidos mecanismos de bloqueo a nivel de fila de la base de datos y del sistema de archivos, uso compartido del almacén de persistencia a través de un sistema de archivos compartido o replicación real mediante Apache ZooKeeper . ActiveMQ admite un mecanismo de escalamiento horizontal llamado Red de intermediarios [7] de forma predeterminada. ActiveMQ admite varios protocolos de transporte, incluidos OpenWire , STOMP , MQTT , AMQP , REST y WebSockets . [8]
ActiveMQ se utiliza en implementaciones de bus de servicios empresariales como Apache ServiceMix [9] y Mule . [10] Otros proyectos que utilizan ActiveMQ incluyen Apache Camel [11] y Apache CXF [12] en proyectos de infraestructura SOA . [13]
Coincidiendo con el lanzamiento de Apache ActiveMQ 5.3, se anunciaron los primeros resultados del mundo correspondientes al estándar industrial SPECjms2007. Se enviaron cuatro resultados a la SPEC y se aceptaron para su publicación. Los resultados cubren diferentes topologías para analizar la escalabilidad de Apache ActiveMQ en dos dimensiones. [14] [15]
Apache se utiliza en software empresarial y ofrece soporte limitado para ActiveMQ de forma voluntaria. Los usuarios que necesiten un soporte más amplio pueden consultar con empresas comerciales especializadas en ActiveMQ. [16]