blob: b1c87354e719a3af493f0586e58e635286cd0308 [file] [log] [blame]
<div class="wiki-content maincontent"><p>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.</p><p></p><div class="toc-macro client-side-toc-macro" data-headerelements="H1,H2,H3,H4,H5,H6,H7"></div><div class="confluence-information-macro confluence-information-macro-note"><p class="title">Work in Progress</p><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body">This page is a work in progress and will be updated frequently.</div></div><h1 id="ActiveMQArtemisRoadmap-Usingthispage">Using this page</h1><p>Feature items can be listed, with links to JIRA tickets for longer conversation and hashing out specific feature details</p><h1 id="ActiveMQArtemisRoadmap-Features/Scenarios">Features/Scenarios</h1><p>This section should be used to identify all the ActiveMQ 5.x features that Artemis needs. This should include&#160;<strong>all</strong>&#160;Artemis features that we can identify, including those from ActiveMQ that Artemis has already implemented. This will help us to more clearly track everything that Artemis needs.</p><p>&#160;</p><h3 id="ActiveMQArtemisRoadmap-AdvisorySupport">Advisory Support</h3><ul><li>Support for broker state change advisories (master -&gt; slave, slave -&gt; master)</li><li>Support for connection advisories (connect, disconnect, unclean disconnect, authn fail, authz fail)</li><li>Support for consumer advisories (new consumer, closed, slow consumer)</li><li>Support for producer advisories (new producer, closed, fast producer, message size exceeded, memoryLimit reached, storage limit reached)</li><li>Support for destination advisories (new dest, deleted)</li></ul><h3 id="ActiveMQArtemisRoadmap-BrokerClustering">Broker Clustering</h3><ul><li>Support full-duplex broker-to-broker cluster connections&#160;[
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-838?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/newfeature.png">ARTEMIS-838</a>
-
<span class="summary">Support full duplex cluster-connections</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li></ul><h3 id="ActiveMQArtemisRoadmap-ActiveMQ5.xClientCompatibility">ActiveMQ 5.x Client Compatibility</h3><ul><li>Full support of Openwire (TODO: specifically, which versions)</li></ul><h3 id="ActiveMQArtemisRoadmap-DestinationInterceptors">Destination Interceptors</h3><ul><li>Virtual Topic equivalent support&#160;[
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-550?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/improvement.png">ARTEMIS-550</a>
-
<span class="summary">Add support for virtual topic consumers</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li></ul><h3 id="ActiveMQArtemisRoadmap-DestinationFeatures">Destination Features</h3><ul><li>Destination Policy: Garbage collection and advisory support for that activity [
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-1148?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/newfeature.png">ARTEMIS-1148</a>
-
<span class="summary">Artemis ServerPlugin support for Address changes</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li><li>Exclusive consumer support [
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-854?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/subtask_alternate.png">ARTEMIS-854</a>
-
<span class="summary">Create basic exclusive consumer support within the broker</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li><li>Exclusive consumer features: consumersBeforeDispatchStarts, timeBeforeDispatchStarts [
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-856?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/subtask_alternate.png">ARTEMIS-856</a>
-
<span class="summary">Support advanced exclusive consumer config options</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li></ul><h3 id="ActiveMQArtemisRoadmap-PluginSupport">Plugin Support</h3><ul><li>Destination Policies (there is a slew of functionality in ActiveMQ 5.x dest policies that should be detailed out)</li></ul><h3 id="ActiveMQArtemisRoadmap-StorageBackend">Storage Backend</h3><ul><li>Support for multiple shared persistence stores similar to multi-kahadb (allow for storage across multiple disk volumes.. ie.&#160; queue://ORDER.&gt; on /mnt/order queue://BILLING.&gt; on /mnt/billing, etc)&#160;[
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-839?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/newfeature.png">ARTEMIS-839</a>
-
<span class="summary">Support multiple backend data stores</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</li></ul><h1 id="ActiveMQArtemisRoadmap-Migration">Migration</h1><p>This section should help to answer the end user question, <em>'How do I migrate from ActiveMQ 5.x to Artemis?'</em>. This should include the identification of any tools that can help make this easier, as well as documenting information and procedures specific to migrating.</p><p>&#160;</p><p>&#160;</p><h1 id="ActiveMQArtemisRoadmap-Wishlist">Wishlist</h1><h3 id="ActiveMQArtemisRoadmap-Protocolfeatures">Protocol features</h3><ul><li><p>Exclusive consumer support across all protocols STOMP, MQTT, AMQP, etc. [
<span class="jira-issue">
<a shape="rect" class="jira-issue-key" href="https://issues.apache.org/jira/browse/ARTEMIS-855?src=confmacro"><img class="icon" src="https://issues.apache.org/jira/images/icons/issuetypes/subtask_alternate.png">ARTEMIS-855</a>
-
<span class="summary">Support exclusive consumer over non-JMS protocols</span>
<span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf">Open</span>
</span>
]</p></li></ul><h3 id="ActiveMQArtemisRoadmap-KahaDBMigrationTool">KahaDB Migration Tool</h3><ul><li>Support exporting messages from KahaDB format to Artemis</li></ul><h3 id="ActiveMQArtemisRoadmap-Over-the-wiremigrationtool">Over-the-wire migration tool</h3><ul><li>Support a tool for migrating messages from ActiveMQ 5.x brokers to Artemis-based brokers (for non-standard backends)<ul><li>Goal: preserve messageId</li></ul></li></ul></div>