Skip to main content

One post tagged with "ActiveMQ"

View All Tags

Desirable Techniques: Understanding Modern Messaging with ActiveMQ and ActiveMQ Artemis

· 5 min read
Cloud & AI Engineering
Arina Technologies
Cloud & AI Engineering

ActiveMQ vs Artemis

What is Apache ActiveMQ?

Apache ActiveMQ is one of the oldest and most trusted open-source message brokers. Written in Java, it supports multiple protocols and client APIs and offers message persistence, delivery guarantees, and advanced routing. It’s common in enterprise environments where robustness and scalability are critical.

Introduction to Artemis

ActiveMQ Artemis is the modern successor to “ActiveMQ Classic,” originating from the HornetQ codebase. It focuses on performance and scalability with simplified clustering, advanced replication, and a streamlined configuration model.

Key Features & Comparison

For consulting or automation help, read more about our services:
Read about Arina Consulting

Both ActiveMQ and Artemis are robust, but they diverge in design and capabilities:

  1. Performance & Storage:
    ActiveMQ uses KahaDB (journal + index). Artemis uses an append-only journal and no separate index, which improves performance.

  2. Protocol Support:
    ActiveMQ supports MQTT, STOMP, OpenWire, etc. Artemis broadens protocol coverage and simplifies configuration; WebSockets are supported out of the box.

  3. Clustering & HA:
    ActiveMQ provides basic clustering. Artemis offers easier setup, automatic failover, and live-backup modes for stronger HA.

  4. Management & Configuration:
    Artemis modernizes configuration (e.g., broker.xml) and ships with better defaults and management ergonomics.

CriteriaActiveMQ ClassicArtemis
IO connectivity layerTCP (sync) and NIO (non-blocking)Netty-based NIO; one acceptor can serve multiple protocols; WebSockets out of the box
Message storeKahaDB (journal + index)Append-only journal (no index)
Paging under memory pressureCursors cache messages; falls back to store; requires journal indexJournal resides in memory; producer-side paging to sequential files; no index needed
Message addressing & routingNon-OpenWire protocols translated internally to OpenWireAnycast for point-to-point across protocols
Broker instance modelOptional separation of install/configExplicit broker instance creation
Main config filesconf/activemq.xml, JAAS in pluginsetc/broker.xml, etc/artemis.profile
Loggingetc/logging.propertiesetc/logging.properties
Foreground startbin/activemq consolebin/artemis run
Service startbin/activemq startbin/artemis-service start
JMS supportJMS 1.1JMS 2.0
Durable subscribersPer-destination durable subs may duplicate across nodesModeled as queues—avoids duplication
AuthenticationGroups via JAAS (plugins in conf/activemq.xml)Roles
Authorizationconf/activemq.xmletc/broker.xml
PoliciesDestination policies (e.g., write)Fine-grained queue policies (e.g., send)
Project statusMature, widely adoptedActive, successor to Classic
PerformanceGood, with some limitsHigh performance
PersistenceKahaDB / JDBCFast journal
ArchitectureTraditional broker; can bottleneck under very high throughputAsynchronous design aimed at high throughput
High availabilityMaster–slaveLive–backup, shared-nothing failover
ClusteringNetwork of brokersAdvanced clustering with automatic client failover
ManagementJMX; more manualImproved JMX, web console, protocol-level management
FilteringBasic selectorsAdvanced filtering; plugin support
SecurityAuthN / AuthZ supportedEnhanced features incl. SSL/TLS, JAAS
FederationCustom configNative support for geo-distributed clusters

Practical Applications

  • Choose ActiveMQ Classic if you need a proven, conservative broker compatible with legacy systems.
  • Choose Artemis for modern workloads needing higher throughput, simpler HA, cleaner config, and broader protocol handling.

Ready to take your architecture to the next level?
Contact us

Conclusion

Both brokers deliver reliable messaging. Your decision should align with current requirements and future scale. If you’re starting fresh or planning to scale aggressively, Artemis is usually the better bet.


🔚 Call to Action

Choosing the right platform depends on your organization’s needs.
Subscribe to our newsletter for cloud tips and trends, or follow our video series on cloud comparisons.
Interested in a guided setup? Contact us—we’re happy to help.