blob: aef00d700f4d8052f3f666478713e6ed28df0480 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ActiveMQ</title>
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
<link rel="stylesheet" href="/css/main.css">
<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js" integrity="sha384-SlE991lGASHoBfWbelyBPLsUlwY1GwNDJo3jSJO04KZ33K2bwfV9YBauFfnzvynJ" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light fixed-top">
<div class="container">
<!-- <a class="navbar-brand mr-auto" href="#"><img style="height: 50px" src="assets/img/apache-feather.png" /></a> -->
<a class="navbar-brand mr-auto" href="/"><img src="/assets/img/activemq_logo_black_small.png" style="height: 50px"/></a>
<button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="ml-auto collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link active" href="/index.html">Home</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link" id="navbarDropdownComponents" data-target="#" href="" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Components</a>
<ul class="dropdown-menu dropdown-menu-center" aria-labelledby="navbarDropdownComponents">
<div class="row">
<div class="col-12">
<ul class="multi-column-dropdown">
<li class="nav-item"><a class="dropdown-item" href="/components/classic">ActiveMQ 5</a></li>
<li class="nav-item"><a class="dropdown-item" href="/components/artemis/">ActiveMQ Artemis</a></li>
<li class="nav-item"><a class="dropdown-item" href="/components/nms">NMS Clients</a></li>
<li class="nav-item"><a class="dropdown-item" href="/components/cms">CMS Client</a></li>
</ul>
</div>
</div>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link" id="navbarDropdownCommunity" data-target="#" href="" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Contact</a>
<ul class="dropdown-menu dropdown-menu-center multi-column columns-1" aria-labelledby="navbarDropdownCommunity">
<div class="row">
<div class="col-12">
<ul class="multi-column-dropdown">
<li class="nav-item"><a class="dropdown-item" href="/contact#mailing">Mailing Lists</a></li>
<li class="nav-item"><a class="dropdown-item" href="/contact#chat">Chat</a></li>
<li class="nav-item"><a class="dropdown-item" href="/contact#issues">Report Issues</a></li>
<li class="nav-item"><a class="dropdown-item" href="/contact#contributing">Contributing</a></li>
<li class="nav-item"><a class="dropdown-item" href="/security-advisories.html">Security</a></li>
</ul>
</div>
</div>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link" id="navbarDropdownTeam" data-target="#" href="" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Apache</a>
<ul class="dropdown-menu dropdown-menu-center multi-column columns-1" aria-labelledby="navbarDropdownTeam">
<div class="row">
<div class="col-sm-12">
<ul class="multi-column-dropdown">
<li class="nav-item"><a class="dropdown-item" href="https://www.apache.org">The Apache Software Foundation</a></li>
<li class="nav-item"><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
<li class="nav-item"><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li class="nav-item"><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li class="nav-item"><a class="dropdown-item" href="/security-advisories.html">Security</a></li>
<li class="nav-item"><a class="dropdown-item" href="https://www.apache.org/events/current-event">Events</a></li>
<li class="nav-item"><a class="dropdown-item" href="https://people.apache.org/phonebook.html?pmc=activemq">PMC & Committers</a></li>
<li class="nav-item"><a class="dropdown-item" href="/team/reports">Board Reports</a></li>
</ul>
</div>
</div>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="content">
<div class="page-title-activemq5">
<div class="container">
<h1>ActiveMQ Artemis Roadmap</h1>
</div>
</div>
<div class="container" >
<div class="row" style="margin-top: 30px">
<div class="col-12 activemq5">
<p><a href="activemq-artemis-roadmap">ActiveMQ Artemis Roadmap</a></p>
<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>
<blockquote>
<p><strong>Work in Progress</strong></p>
<p>This page is a work in progress and will be updated frequently.</p>
</blockquote>
<h1 id="using-this-page">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="featuresscenarios">Features/Scenarios</h1>
<p>This section should be used to identify all the ActiveMQ 5.x features that Artemis needs. This should include <strong>all</strong> 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>
<h3 id="advisory-support">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="broker-clustering">Broker Clustering</h3>
<ul>
<li>Support full-duplex broker-to-broker cluster connections <a href="https://issues.apache.org/jira/browse/ARTEMIS-838">ARTEMIS-838</a></li>
</ul>
<h3 id="activemq-5x-client-compatibility">ActiveMQ 5.x Client Compatibility</h3>
<ul>
<li>Full support of Openwire (TODO: specifically, which versions)</li>
<li>PooledConnectionFactory</li>
</ul>
<h3 id="destination-interceptors">Destination Interceptors</h3>
<ul>
<li>Virtual Topic support <a href="https://issues.apache.org/jira/browse/ARTEMIS-550">ARTEMIS-550</a></li>
</ul>
<h3 id="destination-features">Destination Features</h3>
<ul>
<li>Destination Policy: Garbage collection and advisory support for that activity <a href="https://issues.apache.org/jira/browse/ARTEMIS-1148">ARTEMIS-1148</a></li>
<li>Exclusive consumer support <a href="https://issues.apache.org/jira/browse/ARTEMIS-854">ARTEMIS-854</a></li>
<li>Exclusive consumer features: consumersBeforeDispatchStarts, timeBeforeDispatchStarts <a href="https://issues.apache.org/jira/browse/ARTEMIS-856">ARTEMIS-856</a></li>
</ul>
<h3 id="plugin-support">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="storage-backend">Storage Backend</h3>
<ul>
<li>Support for multiple shared persistence stores similar to multi-kahadb (allow for storage across multiple disk volumes.. ie.  queue://ORDER.&gt; on /mnt/order queue://BILLING.&gt; on /mnt/billing, etc) <a href="https://issues.apache.org/jira/browse/ARTEMIS-839">ARTEMIS-839</a></li>
</ul>
<h1 id="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>
<h1 id="wishlist">Wishlist</h1>
<h3 id="protocol-features">Protocol features</h3>
<ul>
<li>Exclusive consumer support across all protocols STOMP, MQTT, AMQP, etc. <a href="https://issues.apache.org/jira/browse/ARTEMIS-855">ARTEMIS-855</a></li>
</ul>
<h3 id="kahadb-migration-tool">KahaDB Migration Tool</h3>
<ul>
<li>Support exporting messages from KahaDB format to Artemis</li>
</ul>
<h3 id="over-the-wire-migration-tool">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>
</div>
</div>
</div>
<div class="row sitemap">
<div class="col-sm-12">
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="row">
<div class="col-sm-3">
<div >
<img class="float-left" style="max-height: 100px" src="/assets/img/activemq_logo_white_vertical_small.png"/>
</div>
</div>
<div style="text-align: center; margin-bottom: 0px; margin-top: 30px; font-size: 65%" class="col-sm-6">
<p>Apache ActiveMQ, ActiveMQ, ActiveMQ Artemis, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright &copy; 2019, The Apache Software Foundation. Licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
</div>
<div class="col-sm-3">
<div >
<a href="https://www.apache.org"><img class="float-right" style="margin-top: 10px; max-height: 80px" src="/assets/img/apache-logo-small.png"/></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>