// the find
apache/activemq
Apache ActiveMQ
Apache ActiveMQ Classic is the original ActiveMQ message broker — JMS-first, XML-configured, supporting AMQP, MQTT, STOMP, and OpenWire over the same port. It's for teams running existing JMS-based workloads or needing broad protocol support without switching to ActiveMQ Artemis. If you're starting a new project, Artemis is the future; Classic is the past that still has to run.
Protocol breadth is real: AMQP, MQTT, STOMP, WebSocket, and OpenWire all work on a single broker with auto-detection — useful when you have heterogeneous clients. The network-of-brokers topology is genuinely well-implemented and battle-tested for store-and-forward federation across data centers. Test suite is serious: interop tests, SSL variants, concurrent consumer stress tests, and even a SwiftMQ cross-vendor AMQP test — more coverage than most ASF projects bother with. JDK 17+ move is done and the build is clean Maven multi-module with no exotic tooling.
This is ActiveMQ Classic, not Artemis — Apache's own messaging roadmap treats Classic as maintenance-only. New features land in Artemis, not here. The XML broker configuration (`activemq.xml`) is sprawling and arcane; non-trivial deployments require reading 10-year-old StackOverflow posts to get right. 2,435 stars for a project this old and this widely deployed signals that the audience has moved on, not that the project is small. AMQP support lags behind what Artemis or RabbitMQ ship — the protocol converter layer means you're going through a translation layer, not a native AMQP implementation, which shows in edge cases with message annotations and disposition handling.