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.
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.
Feature | Artemis Support | Version(s) |
---|---|---|
OpenWire | ✅ | |
Stomp | ✅ | 1.0, 1.1, 1.2 |
AMQP | ✅ | 1.0 |
MQTT | ✅ | 3.1 |
REST | ✅ |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Broker Camel Component | ✅ | example | |
Discovery | ✅ | UDP multicast & JGroups | |
Enterprise Integration Patterns | ✅ | see “Broker Camel Component” | |
Horizontal Scaling | ✅ | supported via clustering or federation | |
JMSXUserID | ✅ | documentation | |
JMX | ✅ | documentation | |
Logging a warning if you forget to start a connection | ❌ | ||
MDC Logging | ❌ | ||
Scaling the depth of a queue | ✅ | documentation | |
URI Protocols | ✅ | vm, tcp, udp, jgroups | |
Proxy Connector | ❌ | ||
Unix Shell Script | ✅ |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Master-slave | ✅ | using JDBC, shared filesystem, & replication; documentation | |
Network of brokers | ✅ | ARTEMIS-2265 | equivalent through clustering or federation |
Replicated message store | ✅ | equivalent via replication HA config |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Composite Destinations | ✅ | supported for OpenWire clients; see also diverts | |
Configure Startup Destinations | ✅ | ||
Delete Inactive Destinations | ✅ | ||
Destination Options | ✅ | ||
Mirrored Queues | ❌ | rough equivalent via non-exclusive diverts | |
Per Destination Policies | ✅ | config via address-settings | |
Virtual Destinations | ✅ | docs for backwards compatibility with OpenWire clients | |
Wildcards | ✅ | documentation |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Destinations Plugin | ✅ | documentation | |
Logging Interceptor | ✅ | documentation | |
StatisticsPlugin | ✅ | equivalent via management messages | |
TimeStampPlugin | ❌ |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Async Sends | ✅ | supported for OpenWire & also for core (via blockOnDurableSend and blockOnNonDurableSend URL parameters) | |
Dispatch Policies | ❌ | ||
Message Cursors | ✅ | equivalent via paging | |
Optimized Acknowledgement | ✅ | supported for OpenWire & core as well via ackBatchSize URL parameter | |
Producer Flow Control | ✅ | documentation | |
Total Ordering | ❌ |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
ActiveMQ Message Properties | ✅ | ||
Advisory Message | ✅ | equivalent support via management notifications | |
Blob Messages | ✅ | arbitrarily large messages supported | |
Delay and Schedule Message Delivery | ✅ | documentation | |
Message Transformation | ✅ | supported via transformers and remoting interceptors | |
ObjectMessage | ✅ | documentation | |
Structured Message Properties and MapMessages | ❌ |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
AMQ Message Store | ✅ | equivalent functionality via journal | |
Configurable IOException Handling | ❌ | all IO errors considered critical | |
JDBC Support | ✅ | ||
KahaDB | ✅ | equivalent functionality via journal | |
Kaha Persistence | ✅ | equivalent functionality via journal | |
Periodically checking disk limits | ✅ | ||
Pluggable storage lockers | ❌ | ||
Replicated LevelDB Store | ✅ | equivalent functionality via journal replication HA config | |
Multi-kahaDB | ❌ | ARTEMIS-839 |
Feature | Artemis Support | JIRA | Notes |
---|---|---|---|
Audit Logging | ✅ | ARTEMIS-2273 | documentation |
Cached LDAP Authorization Module | ✅ | ARTEMIS-168 | documentation |
Encrypted passwords | ✅ | documentation | |
Shiro | ❌ | equivalent functionality available via JAAS |
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.
./artemis data imp
command.