Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.taobao.metamorphosis.tools.shell;
  
  
 
Usage: stats -config configFilePath -item item

Author(s):
apple
 
 public class BrokerStatsTool extends ShellTool {
 
     public BrokerStatsTool(PrintStream out) {
         super(out);
     }
 
 
     public static void main(String[] argsthrows Exception {
         new BrokerStatsTool(.).doMain(args);
     }
 
 
     public BrokerStatsTool(PrintWriter out) {
         super(out);
     }
 
 
     @Override
     public void doMain(String[] argsthrows Exception {
         CommandLine commandLine = getCommandLine(args);
 
         String item = commandLine.getOptionValue("item"null);
         String configFile = commandLine.getOptionValue("config");
 
         Properties props = ResourceUtils.getResourceAsProperties(configFile);
         MetaClientConfig metaClientConfig = new MetaClientConfig();
         String host = props.getProperty("hostName");
         if (StringUtils.isBlank(host)) {
             host = "localhost";
         }
         String serverUrl = "meta://" + host + ":" + props.getProperty("serverPort");
         metaClientConfig.setServerUrl(serverUrl);
         metaClientConfig.setZkConfig(initZkConfig(props));
         MetaMessageSessionFactory sessionFactory = new MetaMessageSessionFactory(metaClientConfig);
 
         sessionFactory.getRemotingClient().connect(serverUrl);
         sessionFactory.getRemotingClient().awaitReadyInterrupt(serverUrl);
 
         BooleanCommand resp =
                 (BooleanCommandsessionFactory.getRemotingClient().invokeToGroup(serverUrlnew StatsCommand(0, item));
         if (resp != null) {
             ..println(resp.getErrorMsg());
         }
         sessionFactory.shutdown();
     }
 
 
     private static ZKConfig initZkConfig(Properties serverPropertiesthrows IOException {
         final String zkConnect = serverProperties.getProperty("zk.zkConnect");
         final String zkRoot = serverProperties.getProperty("zk.zkRoot");
         if (!StringUtil.empty(zkConnect)) {
             final int zkSessionTimeoutMs = Integer.parseInt(serverProperties.getProperty("zk.zkSessionTimeoutMs"));
             final int zkConnectionTimeoutMs =
                     Integer.parseInt(serverProperties.getProperty("zk.zkConnectionTimeoutMs"));
             final int zkSyncTimeMs = Integer.parseInt(serverProperties.getProperty("zk.zkSyncTimeMs"));
             return setZkRoot(new ZKConfig(zkConnectzkSessionTimeoutMszkConnectionTimeoutMszkSyncTimeMs), zkRoot);
         }
         else {
             return null;
         }
     }
 
 
     private static ZKConfig setZkRoot(final ZKConfig zkConfig2final String zkRoot) {
         if (StringUtils.isNotBlank(zkRoot)) {
             zkConfig2.zkRoot = zkRoot;
         }
         return zkConfig2;
     }
 
 
    private CommandLine getCommandLine(String[] args) {
        Option itemOpt = new Option("item"true"stats item");
        itemOpt.setRequired(false);
        Option configOpt = new Option("config"true"start partition num");
        configOpt.setRequired(true);
        return CommandLineUtils.parseCmdLine(argsnew Options().addOption(itemOpt).addOption(configOpt));
    }
New to GrepCode? Check out our FAQ X