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;
     }
+
 }

Reply via email to