diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java b/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java index d79e174a771216ea383f99478ea288dbd81aafb1..cf73f65c2500ced3d50cee6abc217b6779f01334 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java @@ -16,6 +16,9 @@ */ package org.apache.rocketmq.tools.command; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -26,7 +29,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Properties; - import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; @@ -81,10 +83,6 @@ import org.apache.rocketmq.tools.command.topic.UpdateTopicPermSubCommand; import org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand; import org.slf4j.LoggerFactory; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.joran.JoranConfigurator; -import ch.qos.logback.core.joran.spi.JoranException; - public class MQAdminStartup { protected static List subCommandList = new ArrayList(); @@ -166,7 +164,7 @@ public class MQAdminStartup { initCommand(new QueryMsgByKeySubCommand()); initCommand(new QueryMsgByUniqueKeySubCommand()); initCommand(new QueryMsgByOffsetSubCommand()); - + initCommand(new PrintMessageSubCommand()); initCommand(new PrintMessageByQueueCommand()); initCommand(new SendMsgStatusCommand()); @@ -220,7 +218,7 @@ public class MQAdminStartup { private static void printHelp() { System.out.printf("The most commonly used mqadmin commands are:%n"); - System.out.println("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); + System.out.printf("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); for (SubCommand cmd : subCommandList) { System.out.printf(" %-20s %s%n", cmd.commandName(), cmd.commandDesc()); } @@ -252,63 +250,64 @@ public class MQAdminStartup { public static void initCommand(SubCommand command) { subCommandList.add(command); } - - public static RPCHook getAclRPCHook(CommandLine commandLine) { - String account=null ,password = null; - if(commandLine.hasOption("account")) { - account = commandLine.getOptionValue("account"); - password = commandLine.getOptionValue("password"); - }else { - String fileHome = System.getProperty(MixAll.ROCKETMQ_HOME_PROPERTY,System.getenv(MixAll.ROCKETMQ_HOME_ENV)); - File file = new File(fileHome+"/conf/tools.properties"); - if(!file.exists()) { - System.out.println("no find tools.properties , , Execution may fail without account andd password"); - System.out.println("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); - return null; - } - InputStream in=null; - try { - in = new BufferedInputStream(new FileInputStream(file)); - Properties properties = new Properties(); - properties.load(in); - account = properties.getProperty("account"); - password = properties.getProperty("password"); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - }finally { - if(in != null) { - try { - in.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } + + public static RPCHook getAclRPCHook(CommandLine commandLine) { + String account = null, password = null; + if (commandLine.hasOption("account")) { + account = commandLine.getOptionValue("account"); + password = commandLine.getOptionValue("password"); + } else { + String fileHome = System.getProperty(MixAll.ROCKETMQ_HOME_PROPERTY, System.getenv(MixAll.ROCKETMQ_HOME_ENV)); + File file = new File(fileHome + "/conf/tools.properties"); + if (!file.exists()) { + System.out.printf("no find tools.properties , , Execution may fail without account andd password"); + System.out.printf("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); + return null; + } + InputStream in = null; + try { + in = new BufferedInputStream(new FileInputStream(file)); + Properties properties = new Properties(); + properties.load(in); + account = properties.getProperty("account"); + password = properties.getProperty("password"); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + if (StringUtils.isNotBlank(account) && StringUtils.isNotBlank(password)) { + final String newAccount = account; + final String newPassword = password; + return new RPCHook() { + + @Override + public void doBeforeRequest(String remoteAddr, RemotingCommand request) { + HashMap ext = request.getExtFields(); + if (ext == null) { + ext = new HashMap<>(); + request.setExtFields(ext); + } + ext.put("account", newAccount); + ext.put("password", newPassword); + } + + @Override + public void doAfterResponse(String remoteAddr, RemotingCommand request, RemotingCommand response) { + } + }; } - if(StringUtils.isNotBlank(account) && StringUtils.isNotBlank(password) ) { - final String newAccount = account; - final String newPassword = password; - return new RPCHook() { - - @Override - public void doBeforeRequest(String remoteAddr, RemotingCommand request) { - HashMap ext = request.getExtFields(); - if (ext == null) { - ext = new HashMap<>(); - request.setExtFields(ext); - } - ext.put("account", newAccount); - ext.put("password", newPassword); - } - - @Override - public void doAfterResponse(String remoteAddr, RemotingCommand request, RemotingCommand response) {} - }; - } - System.out.println("account andd password data incorrectness , Execution may fail without account andd password"); - System.out.println("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); - return null; + System.out.printf("account andd password data incorrectness , Execution may fail without account andd password"); + System.out.printf("ROCKETMQ_HOME Add tools.properties to the %ROCKETMQ_HOME%/conf/ directory or add -account xxxx -password xxxx Join when executing a command"); + return null; } }