layout: default_md title: ActiveMQ Artemis Roadmap to 6.0 title-class: page-title-activemq5 type: activemq5

The goal of this page is to identify the outstanding issues that must be addressed by Artemis in order to achieve some level of feature parity with ActiveMQ 5.x. The overall objective for working toward feature parity between ActiveMQ 5.x and Artemis is for Artemis to eventually become ActiveMQ 6.x. This page exists so that we can work together as a group to achieve this goal. This page does not list the features which Artemis has beyond what currently exists in ActiveMQ 5.x.

Work in Progress

This page is a work in progress and will be updated frequently.

Features/Scenarios

This section should be used to compare what features from ActiveMQ 5.x have been implemented in Artemis. Feature items can be listed, with links to JIRA tickets for longer conversation and hashing out specific feature details. This will help us to more clearly track everything that Artemis needs. This list of ActiveMQ 5.x features was taken from the 5.x features page.

Keep in mind that not every feature must have an ✅. Artemis may still be ready to become ActiveMQ 6.0 even if a feature on this page still has an ❌ if that feature is deemed low priority. Artemis is not meant to be a 100% complete reimplementation of ActiveMQ 5.x. Features should only be reimplimented where it makes good sense.

Protocol Support

FeatureArtemis SupportVersion(s)
OpenWire
Stomp1.0, 1.1, 1.2
AMQP1.0
MQTT3.1
REST

General

FeatureArtemis SupportJIRANotes
Broker Camel Componentexample
DiscoveryUDP multicast & JGroups
Enterprise Integration Patternssee “Broker Camel Component”
Horizontal Scalingsupported via clustering or federation
JMSXUserIDdocumentation
JMXdocumentation
Logging a warning if you forget to start a connection
MDC Logging
Scaling the depth of a queuedocumentation
URI Protocolsvm, tcp, udp, jgroups
Proxy Connector
Unix Shell Script

Clustering

FeatureArtemis SupportJIRANotes
Master-slaveusing JDBC, shared filesystem, & replication; documentation
Network of brokersARTEMIS-2265equivalent through clustering or federation
Replicated message storeequivalent via replication HA config

Consumer Features

FeatureArtemis SupportJIRANotes
Consumer Dispatch Asyncequivalent via the directDeliver URL parameter
Consumer PriorityARTEMIS-196documentation
Exclusive ConsumerARTEMIS-853documentation
Manage Durable Subscribersequivalent via the expiry-delay address setting
Message Groupsdocumentation
Redelivery Policydocumentation
Retroactive ConsumerARTEMIS-2504documentation coming in 2.11
Selectorsdocumentation
Slow Consumer Handlingdocumentation
Subscription Recovery Policysee retroactive addresses

Destination Features

FeatureArtemis SupportJIRANotes
Composite Destinationssupported for OpenWire clients; see also diverts
Configure Startup Destinations
Delete Inactive Destinations
Destination Options
Mirrored Queuesrough equivalent via non-exclusive diverts
Per Destination Policiesconfig via address-settings
Virtual Destinationsdocs for backwards compatibility with OpenWire clients
Wildcardsdocumentation

Interceptors

FeatureArtemis SupportJIRANotes
Destinations Plugindocumentation
Logging Interceptordocumentation
StatisticsPluginequivalent via management messages
TimeStampPlugin

Message Dispatching Features

FeatureArtemis SupportJIRANotes
Async Sendssupported for OpenWire & also for core (via blockOnDurableSend and blockOnNonDurableSend URL parameters)
Dispatch Policies
Message Cursorsequivalent via paging
Optimized Acknowledgementsupported for OpenWire & core as well via ackBatchSize URL parameter
Producer Flow Controldocumentation
Total Ordering

Message Features

FeatureArtemis SupportJIRANotes
ActiveMQ Message Properties
Advisory Messageequivalent support via management notifications
Blob Messagesarbitrarily large messages supported
Delay and Schedule Message Deliverydocumentation
Message Transformationsupported via transformers and remoting interceptors
ObjectMessagedocumentation
Structured Message Properties and MapMessages

Persistence

FeatureArtemis SupportJIRANotes
AMQ Message Storeequivalent functionality via journal
Configurable IOException Handlingall IO errors considered critical
JDBC Support
KahaDBequivalent functionality via journal
Kaha Persistenceequivalent functionality via journal
Periodically checking disk limits
Pluggable storage lockers
Replicated LevelDB Storeequivalent functionality via journal replication HA config
Multi-kahaDBARTEMIS-839

Security

FeatureArtemis SupportJIRANotes
Audit LoggingARTEMIS-2273documentation
Cached LDAP Authorization ModuleARTEMIS-168documentation
Encrypted passwordsdocumentation
Shiroequivalent functionality available via JAAS

Migration

This section should help to answer the end user question, ‘How do I migrate from ActiveMQ 5.x to Artemis?’. This should include the identification of any tools that can help make this easier, as well as documenting information and procedures specific to migrating.

  • Migration Guide
  • Export messages from KahaDB using this tool. The exported XML can be imported via the ./artemis data imp command.
  • For non-standard backends (where direct export isn't an option) follow this example to migrate messages from ActiveMQ 5.x to Artemis over the wire.