public Subscriber startSubscriberAsync()

in app/metrics/src/main/java/com/googlecodesamples/cloud/jss/metrics/service/EventSubscriberService.java [57:76]


  public Subscriber startSubscriberAsync() {
    logger.info("metric app type: {}", metricAppType);
    subscriber = factory.createSubscriber();

    // Listen for unrecoverable failures. Recreate subscriber and restart subscribing.
    subscriber.addListener(
        new Subscriber.Listener() {
          public void failed(Subscriber.State from, Throwable failure) {
            cleanUp();
            if (!factory.getProvider().getExecutor().isShutdown()) {
              startSubscriberAsync();
            }
          }
        },
        MoreExecutors.directExecutor());

    // Start the subscriber to receive messages.
    subscriber.startAsync().awaitRunning();
    return subscriber;
  }