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/artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 7c55dd6844 ARTEMIS-5862 CLI command to export broker properties
7c55dd6844 is described below
commit 7c55dd6844c076aad1852894c0bded56c37637cd
Author: Clebert Suconic <[email protected]>
AuthorDate: Tue Jan 27 15:51:19 2026 -0500
ARTEMIS-5862 CLI command to export broker properties
---
.../org/apache/activemq/artemis/cli/Artemis.java | 2 +
.../commands/tools/config/ExportProperties.java | 63 ++++++++++++++++++++++
2 files changed, 65 insertions(+)
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 f460f6e986..5105b5bec0 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
@@ -53,6 +53,7 @@ import
org.apache.activemq.artemis.cli.commands.messages.Transfer;
import org.apache.activemq.artemis.cli.commands.messages.perf.PerfGroup;
import org.apache.activemq.artemis.cli.commands.queue.QueueGroup;
import org.apache.activemq.artemis.cli.commands.tools.DataGroup;
+import org.apache.activemq.artemis.cli.commands.tools.config.ExportProperties;
import org.apache.activemq.artemis.cli.commands.tools.journal.PerfJournal;
import org.apache.activemq.artemis.cli.commands.user.UserGroup;
import org.apache.activemq.artemis.dto.ManagementContextDTO;
@@ -281,6 +282,7 @@ public class Artemis implements Runnable {
}
if (includeInstanceCommands) {
+ commandLine.addSubcommand(new ExportProperties());
commandLine.addSubcommand(new ActivationGroup(commandLine));
commandLine.addSubcommand(new DataGroup(commandLine));
commandLine.addSubcommand(new UserGroup(commandLine));
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/config/ExportProperties.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/config/ExportProperties.java
new file mode 100644
index 0000000000..a5cbf403be
--- /dev/null
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/config/ExportProperties.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.activemq.artemis.cli.commands.tools.config;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+import org.apache.activemq.artemis.cli.commands.ActionContext;
+import org.apache.activemq.artemis.cli.commands.Configurable;
+import org.apache.activemq.artemis.core.config.impl.FileConfiguration;
+import picocli.CommandLine;
+
[email protected](name = "properties", description = "Export the broker's
configuration as a properties file to be used with broker properties.")
+public class ExportProperties extends Configurable {
+
+ @CommandLine.Option(names = "--output", description = "Output name for the
file.", defaultValue = "broker.properties")
+ private File output;
+
+ @Override
+ public Object execute(ActionContext context) throws Exception {
+ super.execute(context);
+
+ PrintStream out = context.out;
+ OutputStream outputStream = null;
+
+ System.out.println("Exporting configuration as broker.properties");
+
+ if (output == null) {
+ throw new RuntimeException("output is a required property");
+ }
+
+
+ if (output != null) {
+ outputStream = new BufferedOutputStream(new FileOutputStream(output));
+ PrintStream printStream = new PrintStream(outputStream);
+ context.out = printStream;
+ }
+
+ FileConfiguration configuration = readConfiguration();
+ configuration.exportAsProperties(output);
+
+ return null;
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]