This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 4b91d1d57e ARTEMIS-4318 migrate to Airline 2
4b91d1d57e is described below
commit 4b91d1d57e7387df4865fab5005a05d139c30a5e
Author: Justin Bertram <[email protected]>
AuthorDate: Mon Jun 19 16:18:17 2023 -0500
ARTEMIS-4318 migrate to Airline 2
The "Airline" library we're currently using is deprecated according the
GitHub project - https://github.com/airlift/airline. It recommends using
either Airline 2 or Picocli. The former offers the simplest migration
path as it's almost completely compatible with the current code. This
commit implements that migration.
---
artemis-cli/pom.xml | 2 +-
.../org/apache/activemq/artemis/cli/Artemis.java | 7 +++---
.../artemis/cli/commands/ActionAbstract.java | 2 +-
.../artemis/cli/commands/Configurable.java | 26 +++++++++++++---------
.../activemq/artemis/cli/commands/Create.java | 4 ++--
.../activemq/artemis/cli/commands/HelpAction.java | 2 +-
.../artemis/cli/commands/InputAbstract.java | 2 +-
.../artemis/cli/commands/InstallAbstract.java | 8 ++++---
.../apache/activemq/artemis/cli/commands/Kill.java | 2 +-
.../apache/activemq/artemis/cli/commands/Mask.java | 10 +++++----
.../activemq/artemis/cli/commands/OptionsUtil.java | 2 +-
.../artemis/cli/commands/PrintVersion.java | 2 +-
.../apache/activemq/artemis/cli/commands/Run.java | 4 ++--
.../apache/activemq/artemis/cli/commands/Stop.java | 2 +-
.../activemq/artemis/cli/commands/Upgrade.java | 2 +-
.../activation/ActivationSequenceList.java | 4 ++--
.../commands/activation/ActivationSequenceSet.java | 12 +++++++---
.../cli/commands/address/AddressAbstract.java | 2 +-
.../cli/commands/address/CreateAddress.java | 2 +-
.../cli/commands/address/DeleteAddress.java | 4 ++--
.../artemis/cli/commands/address/HelpAddress.java | 2 +-
.../artemis/cli/commands/address/ShowAddress.java | 4 ++--
.../cli/commands/address/UpdateAddress.java | 2 +-
.../artemis/cli/commands/check/CheckAbstract.java | 2 +-
.../artemis/cli/commands/check/HelpCheck.java | 2 +-
.../artemis/cli/commands/check/NodeCheck.java | 4 ++--
.../artemis/cli/commands/check/QueueCheck.java | 4 ++--
.../artemis/cli/commands/messages/Browse.java | 4 ++--
.../cli/commands/messages/ConnectionAbstract.java | 2 +-
.../artemis/cli/commands/messages/Consumer.java | 4 ++--
.../cli/commands/messages/DestAbstract.java | 2 +-
.../artemis/cli/commands/messages/Producer.java | 4 ++--
.../artemis/cli/commands/messages/Transfer.java | 4 ++--
.../commands/messages/perf/PerfClientCommand.java | 4 ++--
.../cli/commands/messages/perf/PerfCommand.java | 4 ++--
.../messages/perf/PerfConsumerCommand.java | 4 ++--
.../messages/perf/PerfProducerCommand.java | 4 ++--
.../artemis/cli/commands/queue/CreateQueue.java | 2 +-
.../artemis/cli/commands/queue/DeleteQueue.java | 4 ++--
.../artemis/cli/commands/queue/HelpQueue.java | 2 +-
.../artemis/cli/commands/queue/PurgeQueue.java | 4 ++--
.../artemis/cli/commands/queue/QueueAbstract.java | 2 +-
.../artemis/cli/commands/queue/StatQueue.java | 4 ++--
.../artemis/cli/commands/queue/UpdateQueue.java | 2 +-
.../artemis/cli/commands/tools/DBOption.java | 2 +-
.../artemis/cli/commands/tools/DataAbstract.java | 2 +-
.../artemis/cli/commands/tools/HelpData.java | 2 +-
.../cli/commands/tools/OptionalLocking.java | 2 +-
.../artemis/cli/commands/tools/PrintData.java | 4 ++--
.../cli/commands/tools/RecoverMessages.java | 8 ++++---
.../cli/commands/tools/journal/CompactJournal.java | 2 +-
.../cli/commands/tools/journal/DecodeJournal.java | 8 ++++---
.../cli/commands/tools/journal/EncodeJournal.java | 4 ++--
.../cli/commands/tools/journal/PerfJournal.java | 4 ++--
.../cli/commands/tools/xml/XmlDataExporter.java | 2 +-
.../cli/commands/tools/xml/XmlDataImporter.java | 8 ++++---
.../artemis/cli/commands/user/AddUser.java | 4 ++--
.../artemis/cli/commands/user/HelpUser.java | 2 +-
.../artemis/cli/commands/user/ListUser.java | 2 +-
.../artemis/cli/commands/user/PasswordAction.java | 2 +-
.../artemis/cli/commands/user/RemoveUser.java | 2 +-
.../artemis/cli/commands/user/ResetUser.java | 4 ++--
.../artemis/cli/commands/user/UserAction.java | 2 +-
.../activemq/cli/test/OptionsValidationTest.java | 2 +-
docs/user-manual/en/architecture.md | 6 ++---
docs/user-manual/en/embedding-activemq.md | 2 +-
pom.xml | 14 +++++-------
67 files changed, 143 insertions(+), 124 deletions(-)
diff --git a/artemis-cli/pom.xml b/artemis-cli/pom.xml
index e164064763..30b84fe003 100644
--- a/artemis-cli/pom.xml
+++ b/artemis-cli/pom.xml
@@ -100,7 +100,7 @@
</dependency>
<dependency>
- <groupId>io.airlift</groupId>
+ <groupId>com.github.rvesse</groupId>
<artifactId>airline</artifactId>
</dependency>
<dependency>
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
index 4242e75526..f969bfd44b 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
@@ -22,7 +22,8 @@ import java.io.OutputStream;
import java.io.PrintStream;
import java.util.List;
-import io.airlift.airline.Cli;
+import com.github.rvesse.airline.Cli;
+import com.github.rvesse.airline.builder.CliBuilder;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.Create;
@@ -213,9 +214,9 @@ public class Artemis {
return action.execute(context);
}
- private static Cli.CliBuilder<Action> builder(File artemisInstance) {
+ private static CliBuilder<Action> builder(File artemisInstance) {
String instance = artemisInstance != null ?
artemisInstance.getAbsolutePath() : System.getProperty("artemis.instance");
- Cli.CliBuilder<Action> builder =
Cli.<Action>builder("artemis").withDescription("ActiveMQ Artemis Command Line").
+ CliBuilder<Action> builder =
Cli.<Action>builder("artemis").withDescription("ActiveMQ Artemis Command Line").
withCommand(HelpAction.class).withCommand(Producer.class).withCommand(Transfer.class).withCommand(Consumer.class).
withCommand(Browse.class).withCommand(Mask.class).withCommand(PrintVersion.class).withDefaultCommand(HelpAction.class);
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/ActionAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/ActionAbstract.java
index 1763f36765..2171a2d53c 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/ActionAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/ActionAbstract.java
@@ -21,7 +21,7 @@ import java.net.InetAddress;
import java.net.URI;
import java.util.Map;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.TransportConfiguration;
import org.apache.activemq.artemis.core.config.Configuration;
import org.apache.activemq.artemis.core.config.FileDeploymentManager;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java
index b6218c58ba..e676bda74b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java
@@ -17,15 +17,15 @@
package org.apache.activemq.artemis.cli.commands;
-import javax.inject.Inject;
import java.io.File;
-import io.airlift.airline.Arguments;
-import io.airlift.airline.Help;
-import io.airlift.airline.Option;
-import io.airlift.airline.model.CommandGroupMetadata;
-import io.airlift.airline.model.CommandMetadata;
-import io.airlift.airline.model.GlobalMetadata;
+import com.github.rvesse.airline.annotations.AirlineModule;
+import com.github.rvesse.airline.annotations.Arguments;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.help.Help;
+import com.github.rvesse.airline.model.CommandGroupMetadata;
+import com.github.rvesse.airline.model.CommandMetadata;
+import com.github.rvesse.airline.model.GlobalMetadata;
import org.apache.activemq.artemis.api.core.ActiveMQException;
import org.apache.activemq.artemis.cli.factory.BrokerFactory;
import org.apache.activemq.artemis.cli.factory.jmx.ManagementFactory;
@@ -36,6 +36,8 @@ import org.apache.activemq.artemis.dto.ManagementContextDTO;
import org.apache.activemq.artemis.jms.server.config.impl.FileJMSConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
import java.lang.invoke.MethodHandles;
/**
@@ -51,8 +53,8 @@ public abstract class Configurable extends ActionAbstract {
@Option(name = "--broker", description = "Override the broker configuration
from the bootstrap.xml.")
String brokerConfig;
- @Inject
- public GlobalMetadata global;
+ @AirlineModule
+ public GlobalMetadata<Object> global;
private BrokerDTO brokerDTO = null;
@@ -75,7 +77,11 @@ public abstract class Configurable extends ActionAbstract {
if (group.getName().equals(groupName)) {
for (CommandMetadata command : group.getCommands()) {
if (command.getName().equals(commandName)) {
- Help.help(command);
+ try {
+ Help.help(command);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
}
break;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
index d5af376dc0..f4e543a9a7 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
@@ -25,8 +25,8 @@ import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
import org.apache.activemq.artemis.api.core.RoutingType;
import org.apache.activemq.artemis.cli.commands.util.HashUtil;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/HelpAction.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/HelpAction.java
index 571de5a655..d11db8c06d 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/HelpAction.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/HelpAction.java
@@ -18,7 +18,7 @@ package org.apache.activemq.artemis.cli.commands;
import java.io.File;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
public class HelpAction extends Help implements Action {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
index 50a0f850b8..3915816f7e 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InputAbstract.java
@@ -19,7 +19,7 @@ package org.apache.activemq.artemis.cli.commands;
import java.util.Scanner;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
public class InputAbstract extends ActionAbstract {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InstallAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InstallAbstract.java
index 1850fdc158..dc28622d26 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InstallAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/InstallAbstract.java
@@ -30,13 +30,15 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import io.airlift.airline.Arguments;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Arguments;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.cli.CLIException;
public class InstallAbstract extends InputAbstract {
- @Arguments(description = "The instance directory to hold the broker's
configuration and data. Path must be writable.", required = true)
+ @Arguments(description = "The instance directory to hold the broker's
configuration and data. Path must be writable.")
+ @Required
protected File directory;
@Option(name = "--etc", description = "Directory where ActiveMQ
configuration is located. Paths can be absolute or relative to artemis.instance
directory. Default: etc.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Kill.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Kill.java
index fc2e66a4d1..e34e376deb 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Kill.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Kill.java
@@ -18,7 +18,7 @@ package org.apache.activemq.artemis.cli.commands;
import java.io.File;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.dto.BrokerDTO;
@Command(name = "kill", description = "Kill a broker started with
--allow-kill.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
index 0e496a67ff..40ef0ae856 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Mask.java
@@ -19,9 +19,10 @@ package org.apache.activemq.artemis.cli.commands;
import java.util.HashMap;
import java.util.Map;
-import io.airlift.airline.Arguments;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Arguments;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.core.config.Configuration;
import org.apache.activemq.artemis.utils.DefaultSensitiveStringCodec;
import org.apache.activemq.artemis.utils.PasswordMaskingUtil;
@@ -30,7 +31,8 @@ import org.apache.activemq.artemis.utils.SensitiveDataCodec;
@Command(name = "mask", description = "Mask a password and print it out.")
public class Mask extends ActionAbstract {
- @Arguments(description = "The password to be masked.", required = true)
+ @Arguments(description = "The password to be masked.")
+ @Required
String password;
@Option(name = "--hash", description = "Whether to use a hash (one-way).
Default: false.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/OptionsUtil.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/OptionsUtil.java
index 2e60543c71..9c12b83dfd 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/OptionsUtil.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/OptionsUtil.java
@@ -20,7 +20,7 @@ import java.lang.reflect.Field;
import java.util.HashSet;
import java.util.Set;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
public class OptionsUtil {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/PrintVersion.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/PrintVersion.java
index 70dc243353..4bb2217e8f 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/PrintVersion.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/PrintVersion.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.core.version.Version;
import org.apache.activemq.artemis.utils.VersionLoader;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Run.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Run.java
index 281852d68b..96b3e00761 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Run.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Run.java
@@ -21,8 +21,8 @@ import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicReference;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
import org.apache.activemq.artemis.api.core.Pair;
import org.apache.activemq.artemis.cli.Artemis;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Stop.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Stop.java
index ec9a880ab9..1232a9fb16 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Stop.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Stop.java
@@ -18,7 +18,7 @@ package org.apache.activemq.artemis.cli.commands;
import java.io.File;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.dto.BrokerDTO;
@Command(name = "stop", description = "Stop the broker.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Upgrade.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Upgrade.java
index 953b782a3a..2d7001821b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Upgrade.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Upgrade.java
@@ -30,7 +30,7 @@ import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Stream;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.util.JVMArgumentParser;
@Command(name = "upgrade", description = "Update a broker instance to the
current artemis.home, keeping all the data and broker.xml. Warning: backup your
instance before using this command and compare the files.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceList.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceList.java
index ae18e4c509..cd3c47dd08 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceList.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceList.java
@@ -20,8 +20,8 @@ import java.io.PrintStream;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.LockAbstract;
import org.apache.activemq.artemis.core.config.Configuration;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceSet.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceSet.java
index 22bd979eaf..4551a626fa 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceSet.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/activation/ActivationSequenceSet.java
@@ -20,8 +20,9 @@ import java.io.PrintStream;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.LockAbstract;
import org.apache.activemq.artemis.core.config.Configuration;
@@ -41,13 +42,18 @@ import static
org.apache.activemq.artemis.cli.commands.activation.ActivationSequ
public class ActivationSequenceSet extends LockAbstract {
private static final int MANAGER_START_TIMEOUT_SECONDS = 60;
+
@Option(name = "--node-id", description = "Target sequence for this UUID
overwriting the NodeID of this broker too. If not set, broker NodeID is used
instead.")
public String nodeId = null;
+
@Option(name = "--remote", description = "Set just remote (i.e.
coordinated) activation sequence.")
public boolean remote = false;
+
@Option(name = "--local", description = "Set just local activation
sequence.")
public boolean local = false;
- @Option(name = "--to", description = "The new activation sequence.",
required = true)
+
+ @Option(name = "--to", description = "The new activation sequence.")
+ @Required
public long value;
@Override
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/AddressAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/AddressAbstract.java
index 846c57117e..1e7f082186 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/AddressAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/AddressAbstract.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.address;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
public abstract class AddressAbstract extends AbstractAction {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/CreateAddress.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/CreateAddress.java
index 2e37f0822e..fcc97428d5 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/CreateAddress.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/CreateAddress.java
@@ -17,7 +17,7 @@
package org.apache.activemq.artemis.cli.commands.address;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/DeleteAddress.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/DeleteAddress.java
index 21732e6f75..79bd003290 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/DeleteAddress.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/DeleteAddress.java
@@ -17,8 +17,8 @@
package org.apache.activemq.artemis.cli.commands.address;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/HelpAddress.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/HelpAddress.java
index ed3f9d045c..cf28abb3dd 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/HelpAddress.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/HelpAddress.java
@@ -21,7 +21,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/ShowAddress.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/ShowAddress.java
index 4cf4cf6ed5..7be7d73ee0 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/ShowAddress.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/ShowAddress.java
@@ -17,8 +17,8 @@
package org.apache.activemq.artemis.cli.commands.address;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/UpdateAddress.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/UpdateAddress.java
index d48d826f55..04e7ac8ef2 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/UpdateAddress.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/address/UpdateAddress.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.address;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/CheckAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/CheckAbstract.java
index c1f469afed..221593e9b2 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/CheckAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/CheckAbstract.java
@@ -23,7 +23,7 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.management.ActiveMQManagementProxy;
import org.apache.activemq.artemis.cli.CLIException;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/HelpCheck.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/HelpCheck.java
index 46aa352809..30a25b88fc 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/HelpCheck.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/HelpCheck.java
@@ -21,7 +21,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/NodeCheck.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/NodeCheck.java
index 065d0ae9fd..71b7354a94 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/NodeCheck.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/NodeCheck.java
@@ -19,8 +19,8 @@ package org.apache.activemq.artemis.cli.commands.check;
import java.util.ArrayList;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.management.NodeInfo;
@Command(name = "node", description = "Check a node.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
index e69b182f46..9cee8a072e 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/check/QueueCheck.java
@@ -27,8 +27,8 @@ import javax.jms.Session;
import java.util.ArrayList;
import java.util.Enumeration;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.management.ResourceNames;
@Command(name = "queue", description = "Check a queue.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Browse.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Browse.java
index 12e7b94137..4e4a7b7301 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Browse.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Browse.java
@@ -22,8 +22,8 @@ import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.Session;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
@Command(name = "browser", description = "Browse messages on a queue.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
index 79685d7b0f..b1ea229dde 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/ConnectionAbstract.java
@@ -21,7 +21,7 @@ import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.JMSSecurityException;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InputAbstract;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Consumer.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Consumer.java
index 38058ed9b0..fa7dd1854b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Consumer.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Consumer.java
@@ -26,8 +26,8 @@ import javax.jms.Session;
import java.io.FileOutputStream;
import java.io.OutputStream;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.factory.serialize.MessageSerializer;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/DestAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/DestAbstract.java
index 664454a99c..e50cef6834 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/DestAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/DestAbstract.java
@@ -21,7 +21,7 @@ import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Session;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.factory.serialize.MessageSerializer;
import org.apache.activemq.artemis.cli.factory.serialize.XMLMessageSerializer;
import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Producer.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Producer.java
index 45f05f6602..eed6f5ef24 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Producer.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Producer.java
@@ -27,8 +27,8 @@ import javax.jms.Session;
import java.io.FileInputStream;
import java.io.InputStream;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.factory.serialize.MessageSerializer;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Transfer.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Transfer.java
index dc485796b9..98973d039f 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Transfer.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/Transfer.java
@@ -28,8 +28,8 @@ import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.Topic;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.Pair;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InputAbstract;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfClientCommand.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfClientCommand.java
index 8abc145987..e258f52be8 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfClientCommand.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfClientCommand.java
@@ -25,8 +25,8 @@ import java.util.concurrent.LinkedTransferQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import io.netty.channel.DefaultEventLoop;
import io.netty.channel.DefaultEventLoopGroup;
import io.netty.channel.EventLoop;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfCommand.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfCommand.java
index 5bd3e62d6d..2aa4f84fa1 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfCommand.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfCommand.java
@@ -26,8 +26,8 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
-import io.airlift.airline.Arguments;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Arguments;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.messages.ConnectionAbstract;
import org.apache.activemq.artemis.cli.commands.messages.DestAbstract;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfConsumerCommand.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfConsumerCommand.java
index fad7d65312..5b307b738a 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfConsumerCommand.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfConsumerCommand.java
@@ -21,8 +21,8 @@ import javax.jms.Destination;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
@Command(name = "consumer", description = "Consume messages from a queue.")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfProducerCommand.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfProducerCommand.java
index ab15410afb..4440ef5f8f 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfProducerCommand.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/perf/PerfProducerCommand.java
@@ -25,8 +25,8 @@ import java.util.concurrent.LinkedTransferQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import io.netty.channel.DefaultEventLoop;
import io.netty.channel.DefaultEventLoopGroup;
import io.netty.channel.EventLoop;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/CreateQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/CreateQueue.java
index 69554d9766..57d272e109 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/CreateQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/CreateQueue.java
@@ -17,7 +17,7 @@
package org.apache.activemq.artemis.cli.commands.queue;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/DeleteQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/DeleteQueue.java
index 6cd47b29d5..0da284d28b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/DeleteQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/DeleteQueue.java
@@ -17,8 +17,8 @@
package org.apache.activemq.artemis.cli.commands.queue;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/HelpQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/HelpQueue.java
index afe724f6ec..f353bc7f88 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/HelpQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/HelpQueue.java
@@ -21,7 +21,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/PurgeQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/PurgeQueue.java
index f4af2e11ce..cfe210476f 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/PurgeQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/PurgeQueue.java
@@ -17,8 +17,8 @@
package org.apache.activemq.artemis.cli.commands.queue;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.api.core.management.ResourceNames;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/QueueAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/QueueAbstract.java
index 2a0b2bf213..dbc33ed077 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/QueueAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/QueueAbstract.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.queue;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
public class QueueAbstract extends AbstractAction {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
index 6eb44d62a0..b1c9605e2b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/StatQueue.java
@@ -21,8 +21,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.JsonUtil;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/UpdateQueue.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/UpdateQueue.java
index 6ed78ff512..c6d4c1eae1 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/UpdateQueue.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/queue/UpdateQueue.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.queue;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.ActionContext;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DBOption.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DBOption.java
index c971d4d42c..e757a9592e 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DBOption.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DBOption.java
@@ -25,7 +25,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.ThreadFactory;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.core.config.Configuration;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DataAbstract.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DataAbstract.java
index 06c8db19c6..d3b2cb8a91 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DataAbstract.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/DataAbstract.java
@@ -19,7 +19,7 @@ package org.apache.activemq.artemis.cli.commands.tools;
import java.io.File;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.Configurable;
/**
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/HelpData.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/HelpData.java
index dcd911d69a..0598737b2f 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/HelpData.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/HelpData.java
@@ -21,7 +21,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/OptionalLocking.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/OptionalLocking.java
index cf6d75bed3..9285ea6386 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/OptionalLocking.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/OptionalLocking.java
@@ -18,7 +18,7 @@ package org.apache.activemq.artemis.cli.commands.tools;
import java.io.File;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
/**
* This is for commands where --f on ignoring lock could be valid.
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/PrintData.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/PrintData.java
index 74dc8f6f00..7e09b01296 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/PrintData.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/PrintData.java
@@ -27,8 +27,8 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
import org.apache.activemq.artemis.api.core.ActiveMQBuffers;
import org.apache.activemq.artemis.api.core.SimpleString;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
index ad95aec6a8..085c892e94 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
@@ -20,8 +20,9 @@ import java.io.File;
import java.util.HashSet;
import java.util.List;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.api.core.Pair;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.core.config.Configuration;
@@ -48,7 +49,8 @@ public class RecoverMessages extends DBOption {
@Option(name = "--reclaimed", description = "Try to recover as many records
as possible from reclaimed files.")
private boolean reclaimed = false;
- @Option(name = "--target", description = "Output folder container the new
journal with all the generated messages.", required = true)
+ @Option(name = "--target", description = "Output folder container the new
journal with all the generated messages.")
+ @Required
private String outputJournal;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/CompactJournal.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/CompactJournal.java
index ec4eb95ecd..41e5cd59c8 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/CompactJournal.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/CompactJournal.java
@@ -18,7 +18,7 @@ package
org.apache.activemq.artemis.cli.commands.tools.journal;
import java.io.File;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.LockAbstract;
import org.apache.activemq.artemis.core.config.Configuration;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/DecodeJournal.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/DecodeJournal.java
index 012d32a699..f0cb73b64e 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/DecodeJournal.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/DecodeJournal.java
@@ -27,8 +27,9 @@ import java.util.Map;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.LockAbstract;
import org.apache.activemq.artemis.core.io.nio.NIOSequentialFileFactory;
@@ -51,7 +52,8 @@ public class DecodeJournal extends LockAbstract {
@Option(name = "--file-size", description = "The journal size. Default:
10485760.")
public int size = 10485760;
- @Option(name = "--input", description = "The input file name. Default:
exp.dmp.", required = true)
+ @Option(name = "--input", description = "The input file name. Default:
exp.dmp.")
+ @Required
public String input = "exp.dmp";
@Override
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/EncodeJournal.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/EncodeJournal.java
index c3fafdde24..1a3db097bc 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/EncodeJournal.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/EncodeJournal.java
@@ -22,8 +22,8 @@ import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.List;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.LockAbstract;
import org.apache.activemq.artemis.core.io.SequentialFileFactory;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/PerfJournal.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/PerfJournal.java
index 761918d8f8..471af9f0f7 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/PerfJournal.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/journal/PerfJournal.java
@@ -18,8 +18,8 @@ package
org.apache.activemq.artemis.cli.commands.tools.journal;
import java.text.DecimalFormat;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.tools.OptionalLocking;
import org.apache.activemq.artemis.cli.commands.util.SyncCalculation;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporter.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporter.java
index 33c49d9889..23e6d6c7d0 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporter.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporter.java
@@ -33,7 +33,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
import org.apache.activemq.artemis.api.core.ActiveMQBuffers;
import org.apache.activemq.artemis.api.core.ICoreMessage;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java
index e72f330800..6f515a3cfe 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java
@@ -34,8 +34,9 @@ import java.util.List;
import java.util.Map;
import java.util.TreeSet;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
+import com.github.rvesse.airline.annotations.restrictions.Required;
import org.apache.activemq.artemis.api.core.Message;
import org.apache.activemq.artemis.api.core.QueueConfiguration;
import org.apache.activemq.artemis.api.core.RoutingType;
@@ -106,7 +107,8 @@ public final class XmlDataImporter extends ActionAbstract {
@Option(name = "--password", description = "User name used to import the
data. Default: null.")
public String password = null;
- @Option(name = "--input", description = "The input file name. Default:
exp.dmp.", required = true)
+ @Option(name = "--input", description = "The input file name. Default:
exp.dmp.")
+ @Required
public String input = "exp.dmp";
@Option(name = "--sort", description = "Sort the messages from the input
(used for older versions that won't sort messages).")
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/AddUser.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/AddUser.java
index d71d57fbbe..418fa504f5 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/AddUser.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/AddUser.java
@@ -16,8 +16,8 @@
*/
package org.apache.activemq.artemis.cli.commands.user;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/HelpUser.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/HelpUser.java
index acf3cd95f9..925c645412 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/HelpUser.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/HelpUser.java
@@ -20,7 +20,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import io.airlift.airline.Help;
+import com.github.rvesse.airline.help.Help;
import org.apache.activemq.artemis.cli.commands.Action;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ListUser.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ListUser.java
index 34679d3165..6bd60f116d 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ListUser.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ListUser.java
@@ -19,7 +19,7 @@ package org.apache.activemq.artemis.cli.commands.user;
import org.apache.activemq.artemis.json.JsonArray;
import org.apache.activemq.artemis.json.JsonObject;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.JsonUtil;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/PasswordAction.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/PasswordAction.java
index 8b47230ae0..f49caf8fe9 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/PasswordAction.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/PasswordAction.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.user;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
public class PasswordAction extends UserAction {
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/RemoveUser.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/RemoveUser.java
index 4b276e08cd..fa7c9d6411 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/RemoveUser.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/RemoveUser.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.user;
-import io.airlift.airline.Command;
+import com.github.rvesse.airline.annotations.Command;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ResetUser.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ResetUser.java
index 3dc2b9e4c8..ae47b9ba0b 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ResetUser.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/ResetUser.java
@@ -16,8 +16,8 @@
*/
package org.apache.activemq.artemis.cli.commands.user;
-import io.airlift.airline.Command;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Command;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.management.ManagementHelper;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/UserAction.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/UserAction.java
index fd92911032..106ea74b36 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/UserAction.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/user/UserAction.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.artemis.cli.commands.user;
-import io.airlift.airline.Option;
+import com.github.rvesse.airline.annotations.Option;
import org.apache.activemq.artemis.cli.commands.AbstractAction;
public abstract class UserAction extends AbstractAction {
diff --git
a/artemis-cli/src/test/java/org/apache/activemq/cli/test/OptionsValidationTest.java
b/artemis-cli/src/test/java/org/apache/activemq/cli/test/OptionsValidationTest.java
index 9f9e0b50cc..3d2f03611c 100644
---
a/artemis-cli/src/test/java/org/apache/activemq/cli/test/OptionsValidationTest.java
+++
b/artemis-cli/src/test/java/org/apache/activemq/cli/test/OptionsValidationTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.cli.test;
-import io.airlift.airline.ParseArgumentsUnexpectedException;
+import
com.github.rvesse.airline.parser.errors.ParseArgumentsUnexpectedException;
import org.apache.activemq.artemis.cli.Artemis;
import org.apache.activemq.artemis.cli.commands.ActionContext;
import org.apache.activemq.artemis.cli.commands.InvalidOptionsError;
diff --git a/docs/user-manual/en/architecture.md
b/docs/user-manual/en/architecture.md
index b7ea7a4c44..5dd62db87e 100644
--- a/docs/user-manual/en/architecture.md
+++ b/docs/user-manual/en/architecture.md
@@ -60,14 +60,14 @@ Artemis server. User Application 1 is using the JMS API,
while User Application
You can see from the diagram that the JMS API is implemented by a thin facade
layer on the client side.
-## Stand-alone Broker
+## Standalone Broker
The normal stand-alone messaging broker configuration comprises a core
messaging broker and a number of protocol managers that provide support for the
various protocol mentioned earlier.
-The stand-alone broker configuration uses
-[Airline](https://github.com/airlift/airline) for bootstrapping the Broker.
+The standalone broker configuration uses
+[Airline](http://rvesse.github.io/airline/) for bootstrapping the Broker.
The stand-alone broker architecture is shown in figure 3.3 below:
diff --git a/docs/user-manual/en/embedding-activemq.md
b/docs/user-manual/en/embedding-activemq.md
index bbedd99122..be4b15b380 100644
--- a/docs/user-manual/en/embedding-activemq.md
+++ b/docs/user-manual/en/embedding-activemq.md
@@ -125,4 +125,4 @@ Framework. See [Spring Integration](spring-integration.md)
for more details on
Spring and Apache ActiveMQ Artemis.
Apache ActiveMQ Artemis standalone uses
-[Airline](https://github.com/airlift/airline) to bootstrap.
+[Airline](http://rvesse.github.io/airline/) to bootstrap.
diff --git a/pom.xml b/pom.xml
index 54a6bf8069..3128a0ea43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,7 @@
<qpid.jms.version>1.9.0</qpid.jms.version>
<johnzon.version>1.2.16</johnzon.version>
<hawtbuff.version>1.11</hawtbuff.version>
- <airlift.version>0.8</airlift.version>
+ <airline.version>2.9.0</airline.version>
<jakarta.activation-api.version>1.2.2</jakarta.activation-api.version>
<jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version>
<jakarta.ejb-api.version>3.2.6</jakarta.ejb-api.version>
@@ -571,17 +571,13 @@
<!-- License: Apache 2.0 -->
</dependency>
<dependency>
- <groupId>io.airlift</groupId>
+ <groupId>com.github.rvesse</groupId>
<artifactId>airline</artifactId>
- <version>${airlift.version}</version>
+ <version>${airline.version}</version>
<exclusions>
<exclusion>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
+ <groupId>com.github.rvesse</groupId>
+ <artifactId>airline-backcompat-javaxinject</artifactId>
</exclusion>
</exclusions>
<!-- License: Apache 2.0 -->