public static void main()

in ordering-keys-prober/src/main/java/com/google/cloud/pubsub/prober/ProberStarter.java [161:204]


  public static void main(String[] args) throws IOException {
    Args parsedArgs = new Args();
    JCommander.newBuilder().addObject(parsedArgs).build().parse(args);

    Prober.Builder builder;
    if (parsedArgs.orderedDelivery) {
      builder =
          OrderedProber.newBuilder()
              .setOrderingKeyCount(parsedArgs.orderingKeyCount)
              .setKeyChoiceStrategy(parsedArgs.orderingKeyChoiceStrategy)
              .setDeliveryHistoryCount(parsedArgs.deliveryHistoryCount);
    } else {
      builder = Prober.newBuilder();
    }

    builder
        .setProject(parsedArgs.project)
        .setEndpoint(parsedArgs.endpoint)
        .setShouldCleanup(parsedArgs.shouldCleanup)
        .setNoPublish(parsedArgs.noPublish)
        .setTopicName(parsedArgs.topicName)
        .setSubscriptionName(parsedArgs.subscriptionName)
        .setSubscriptionType(parsedArgs.subscriptionType)
        .setMessageFailureProbability(parsedArgs.messageFailureProbability)
        .setPublishFrequency(parsedArgs.publishFrequency)
        .setAckDelayMilliseconds(parsedArgs.ackDelayMilliseconds)
        .setAckDeadlineSeconds(parsedArgs.ackDeadlineSeconds)
        .setThreadCount(parsedArgs.threadCount)
        .setSubscriberCount(parsedArgs.subscriberCount)
        .setPullCount(parsedArgs.pullCount)
        .setMaxPullMessages(parsedArgs.maxPullMessages)
        .setSubscriberStreamCount(parsedArgs.subscriberStreamCount)
        .setMessageSize(parsedArgs.messageSize)
        .setMessageFilteredProbability(parsedArgs.messageFilteredProbability)
        .setSubscriberMaxOutstandingMessageCount(parsedArgs.subscriberMaxOutstandingMessageCount)
        .setSubscriberMaxOutstandingBytes(parsedArgs.subscriberMaxOutstandingBytes);
    Prober prober = builder.build();
    Future<?> loadFuture = Executors.newSingleThreadExecutor().submit(prober::start);
    try {
      loadFuture.get();
    } catch (InterruptedException | ExecutionException e) {
      logger.log(Level.WARNING, "Load generator shut down: ", e);
    }
  }