public synchronized void shutdown()

in ordering-keys-prober/src/main/java/com/google/cloud/pubsub/prober/Prober.java [441:478]


  public synchronized void shutdown() {
    if (shutdown || !started) {
      return;
    }
    logger.log(Level.INFO, "Shutting down");
    shutdown = true;
    if (generatePublishesFuture != null) {
      generatePublishesFuture.cancel(true);
    }
    if (publisher != null) {
      publisher.shutdown();
    }

    try {
      Futures.allAsList(awaitingAckFutures).get();
    } catch (InterruptedException | ExecutionException e) {
      logger.log(Level.WARNING, "Could not send acks", e);
    }

    for (Subscriber s : subscribers) {
      if (s != null) {
        s.stopAsync().awaitTerminated();
      }
    }

    if (subscriptionType == SubscriptionType.PULL) {
      for (Future<?> future : pullSubscriberFutures) {
        future.cancel(true);
        try {
          future.get();
        } catch (InterruptedException | ExecutionException e) {
          logger.log(Level.INFO, "Interruption shutting down pull subscriber", e);
        }
      }
    }

    cleanup();
  }