public static StreamServerConfig buildFromArgs()

in src/main/java/com/uber/rss/StreamServerConfig.java [101:169]


  public static StreamServerConfig buildFromArgs(String[] args) throws IOException {
    StreamServerConfig serverConfig = new StreamServerConfig();

    String hadoopConfFiles = null;

    // TODO use library to process arguments
    for (int i = 0; i < args.length; ) {
      String argName = args[i++];
      if (argName.equalsIgnoreCase("-epoll")) {
        serverConfig.useEpoll = Boolean.parseBoolean(args[i++]);
      } else if (argName.equalsIgnoreCase("-port")) {
        serverConfig.shufflePort = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-httpPort")) {
        serverConfig.httpPort = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-rootDir")) {
        serverConfig.rootDir = args[i++];
      } else if (argName.equalsIgnoreCase("-nettyAcceptThreads")) {
        serverConfig.nettyAcceptThreads = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-nettyWorkerThreads")) {
        serverConfig.nettyWorkerThreads = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-networkBacklog")) {
        serverConfig.networkBacklog = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-networkTimeout")) {
        serverConfig.networkTimeout = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-networkRetries")) {
        serverConfig.networkRetries = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-appMemoryRetentionMillis")) {
        serverConfig.appMemoryRetentionMillis = Long.parseLong(args[i++]);
      } else if (argName.equalsIgnoreCase("-appFileRetentionMillis")) {
        serverConfig.appFileRetentionMillis = Long.parseLong(args[i++]);
      } else if (argName.equalsIgnoreCase("-appMaxWriteBytes")) {
        serverConfig.appMaxWriteBytes = Long.parseLong(args[i++]);
      } else if (argName.equalsIgnoreCase("-hadoopConf")) {
        hadoopConfFiles = args[i++];
      } else if (argName.equalsIgnoreCase("-keytab")) {
        serverConfig.keytab = args[i++];
      } else if (argName.equalsIgnoreCase("-principal")) {
        serverConfig.principal = args[i++];
      } else if (argName.equalsIgnoreCase("-memoryPercentage")) {
        serverConfig.throttleMemoryPercentage = Integer.parseInt(args[i++]);
      } else if (argName.equalsIgnoreCase("-serviceRegistry")) {
        serverConfig.serviceRegistryType = args[i++].toLowerCase();
      } else if (argName.equalsIgnoreCase("-dataCenter")) {
        serverConfig.dataCenter = args[i++];
      } else if (argName.equalsIgnoreCase("-cluster")) {
        serverConfig.cluster = args[i++];
      } else if (argName.equalsIgnoreCase("-zooKeeperServers")) {
        serverConfig.zooKeeperServers = args[i++];
      } else if (argName.equalsIgnoreCase("-zooKeeperServersBackup")) {
        serverConfig.zooKeeperServersBackup = args[i++];
      } else if (argName.equalsIgnoreCase("-registryServer")) {
        serverConfig.registryServer = args[i++];
      } else {
        throw new IllegalArgumentException("Unsupported argument: " + argName);
      }
    }

    if (!ServiceRegistry.VALID_TYPES.contains(serverConfig.serviceRegistryType)) {
      throw new IllegalArgumentException("Unsupported value for -serviceRegistry: " + serverConfig.serviceRegistryType);
    }

    if (serverConfig.rootDir.isEmpty()) {
      serverConfig.rootDir = Files.createTempDirectory("StreamServer_").toString();
    }

    serverConfig.storage = new ShuffleFileStorage();

    return serverConfig;
  }