This is an automated email from the ASF dual-hosted git repository.
lizhimin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new c3b86cd1e3 [ISSUE #7398] Fix ExportConfigsCommand NPE (#7399)
c3b86cd1e3 is described below
commit c3b86cd1e3c068bc5847671c899a284e49a2ecdc
Author: 石臻臻(Steven shi) <[email protected]>
AuthorDate: Tue Sep 26 16:07:13 2023 +0800
[ISSUE #7398] Fix ExportConfigsCommand NPE (#7399)
Co-authored-by: 石臻臻 <[email protected]>
---
.../tools/command/export/ExportConfigsCommand.java | 42 +++++++++++++---------
1 file changed, 26 insertions(+), 16 deletions(-)
diff --git
a/tools/src/main/java/org/apache/rocketmq/tools/command/export/ExportConfigsCommand.java
b/tools/src/main/java/org/apache/rocketmq/tools/command/export/ExportConfigsCommand.java
index 03613b29c9..c3f96d5972 100644
---
a/tools/src/main/java/org/apache/rocketmq/tools/command/export/ExportConfigsCommand.java
+++
b/tools/src/main/java/org/apache/rocketmq/tools/command/export/ExportConfigsCommand.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Arrays;
import java.util.Properties;
import com.alibaba.fastjson.JSON;
@@ -106,24 +107,33 @@ public class ExportConfigsCommand implements SubCommand {
}
}
+
private Properties needBrokerProprties(Properties properties) {
+ List<String> propertyKeys = Arrays.asList(
+ "brokerClusterName",
+ "brokerId",
+ "brokerName",
+ "brokerRole",
+ "fileReservedTime",
+ "filterServerNums",
+ "flushDiskType",
+ "maxMessageSize",
+ "messageDelayLevel",
+ "msgTraceTopicName",
+ "slaveReadEnable",
+ "traceOn",
+ "traceTopicEnable",
+ "useTLS",
+ "autoCreateTopicEnable",
+ "autoCreateSubscriptionGroup"
+ );
+
Properties newProperties = new Properties();
- newProperties.setProperty("brokerClusterName",
properties.getProperty("brokerClusterName"));
- newProperties.setProperty("brokerId",
properties.getProperty("brokerId"));
- newProperties.setProperty("brokerName",
properties.getProperty("brokerName"));
- newProperties.setProperty("brokerRole",
properties.getProperty("brokerRole"));
- newProperties.setProperty("fileReservedTime",
properties.getProperty("fileReservedTime"));
- newProperties.setProperty("filterServerNums",
properties.getProperty("filterServerNums"));
- newProperties.setProperty("flushDiskType",
properties.getProperty("flushDiskType"));
- newProperties.setProperty("maxMessageSize",
properties.getProperty("maxMessageSize"));
- newProperties.setProperty("messageDelayLevel",
properties.getProperty("messageDelayLevel"));
- newProperties.setProperty("msgTraceTopicName",
properties.getProperty("msgTraceTopicName"));
- newProperties.setProperty("slaveReadEnable",
properties.getProperty("slaveReadEnable"));
- newProperties.setProperty("traceOn",
properties.getProperty("traceOn"));
- newProperties.setProperty("traceTopicEnable",
properties.getProperty("traceTopicEnable"));
- newProperties.setProperty("useTLS", properties.getProperty("useTLS"));
- newProperties.setProperty("autoCreateTopicEnable",
properties.getProperty("autoCreateTopicEnable"));
- newProperties.setProperty("autoCreateSubscriptionGroup",
properties.getProperty("autoCreateSubscriptionGroup"));
+ propertyKeys.stream()
+ .filter(key -> properties.getProperty(key) != null)
+ .forEach(key -> newProperties.setProperty(key,
properties.getProperty(key)));
+
return newProperties;
}
+
}