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);
}
}