code: public static void main(String[] args) {
  
          // register shutdown hook
          Runtime.getRuntime().addShutdownHook(new Thread(Ameba::shutdown, "AmebaShutdownHook"));
  
          List<String> list = Lists.newArrayList();
  
          String idCommand = "--#";
  
          int idArgLen = idCommand.length();
  
          for (String arg : args) {
              if (arg.startsWith(idCommand)) {
                  String idConf = arg.substring(idArgLen);
                  if (StringUtils.isNotBlank(idConf)) {
                      list.add(idConf);
                  }
              }
          }
  
          try {
              bootstrap(list.toArray(new String[list.size()]));
          } catch (Throwable e) {
              logger.error(Messages.get("info.service.error.startup"), e);
              try {
                  Thread.sleep(10000);
              } catch (InterruptedException e1) {
                  //no op
              }
              shutdown();
              System.exit(500);
          }
  
          try {
              Thread.currentThread().join();
          } catch (InterruptedException e) {
              //no op
          }
      }
docs: <p>main.</p>
  
  @param args an array of {@link java.lang.String} objects.