Apache ActiveMQ
Apache ActiveMQ is an open-source, high-performance message broker written in Java, developed by the Apache Software Foundation. It implements the Jakarta Messaging (JMS) API and supports multiple messaging protocols including AMQP, STOMP, MQTT, OpenWire, and HTTP/WebSocket, enabling reliable asynchronous messaging between distributed applications and microservices. ActiveMQ provides features such as network of brokers, message persistence (KahaDB, JDBC), high availability, message scheduling, and a web console with REST and Jolokia management APIs.
APIs
Apache ActiveMQ REST API
The ActiveMQ REST API provides HTTP-based access to messaging operations, allowing clients to produce and consume messages from queues and topics without a native JMS client. It...
Apache ActiveMQ Jolokia Management API
The Jolokia JMX-HTTP bridge API provides HTTP access to JMX metrics and management operations for the ActiveMQ broker, enabling monitoring of broker health, queue depths, consum...
Apache ActiveMQ Broker
The ActiveMQ Classic broker provides high-performance asynchronous messaging through multiple protocol interfaces including OpenWire, AMQP, STOMP, and MQTT. It includes a web-ba...
Capabilities
Apache ActiveMQ Messaging Workflow
Unified capability for Apache ActiveMQ messaging operations and broker management. Used by application developers and platform operators to send/receive messages and monitor bro...
Run with NaftikoFeatures
Supports AMQP, STOMP, MQTT, OpenWire, JMS, Jakarta Messaging, HTTP, and WebSocket protocols for broad client compatibility.
Provides KahaDB and JDBC-based message persistence options to ensure message durability across broker restarts.
Enables distributed messaging topologies by linking multiple brokers in a network for load balancing and failover.
Supports shared storage and master-slave configurations for high availability deployments.
Built-in message scheduling capabilities allow delayed or recurring message delivery.
HTTP-based REST API for producing and consuming messages from queues and topics without native JMS clients.
JMX-over-HTTP bridge via Jolokia for broker monitoring and management.
HTML5 web-based management console accessible at /admin for queue and topic management, subscriber monitoring, and message browsing.
Official Docker image apache/activemq-classic available on Docker Hub for containerized deployments.
ActiveMQ can be embedded directly into Java applications for in-process messaging.
Use Cases
Decouple microservices using asynchronous message queues and topics for event-driven architectures.
Connect disparate enterprise systems and applications using standard messaging protocols.
Use MQTT protocol support for IoT device communication and telemetry data pipelines.
Distribute work items across consumer pools using competing consumers on queues.
Publish events to topics and fan out to multiple subscriber applications.
Bridge legacy JMS-based applications with modern services using OpenWire and JMS API support.
Integrations
Deep integration with Spring and Spring Boot via spring-boot-starter-activemq.
Native Apache Camel ActiveMQ component for enterprise integration patterns.
Official Docker Hub image apache/activemq-classic for containerized deployments.
Deployable on Kubernetes using the official Docker image and StatefulSets.
HTML5 management console integration via hawtio for advanced broker management.
Operational monitoring integration with RHQ for enterprise monitoring.
OSGi integration with Apache Karaf for modular enterprise deployments.