private Subscriber startSubscriber(Builder testSubscriberBuilder) throws Exception { Subscriber subscriber = testSubscriberBuilder.build(); subscriber.startAsync().awaitRunning(); return subscriber; }
public void startAndWait() throws Exception { Subscriber subscriber = Subscriber.newBuilder(subscriptionName, receiver).build(); ExecutorService pool = Executors.newCachedThreadPool(); subscriber.addListener( new Subscriber.Listener() { public void failed(Subscriber.State from, Throwable failure) { // Handle error. } }, pool); subscriber.startAsync(); // Wait for a stop signal. // In a server, this might be a signal to stop serving. // In this example, the signal is just a dummy Future. // // By default, Subscriber uses daemon threads (see // https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html). // Consequently, once other threads have terminated, Subscriber will not stop the JVM from // exiting. // If the Subscriber should simply run forever, either use the setExecutorProvider method in // Subscriber.Builder // to use non-daemon threads or run // for (;;) { // Thread.sleep(Long.MAX_VALUE); // } // at the end of main() to previent the main thread from exiting. done.get(); pool.shutdown(); subscriber.stopAsync().awaitTerminated(); }
subscriber.startAsync();
subscriber.startAsync().awaitRunning();
subscriber.startAsync();
/** Receive messages over a subscription. */ public static void main(String... args) throws Exception { // set subscriber id, eg. my-sub String subscriptionId = args[0]; ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of( PROJECT_ID, subscriptionId); Subscriber subscriber = null; try { // create a subscriber bound to the asynchronous message receiver subscriber = Subscriber.newBuilder(subscriptionName, new MessageReceiverExample()).build(); subscriber.startAsync().awaitRunning(); // Continue to listen to messages while (true) { PubsubMessage message = messages.take(); System.out.println("Message Id: " + message.getMessageId()); System.out.println("Data: " + message.getData().toStringUtf8()); } } finally { if (subscriber != null) { subscriber.stopAsync(); } } } }
subscriber.startAsync().awaitRunning();
subscriber.startAsync();
subscriber.startAsync();
subscriber.startAsync();
subscriber.startAsync();
@Override @Deprecated public Subscriber subscribe(String subscription, MessageReceiver messageReceiver) { Assert.hasText(subscription, "The subscription can't be null or empty."); Assert.notNull(messageReceiver, "The messageReceiver can't be null."); Subscriber subscriber = this.subscriberFactory.createSubscriber(subscription, messageReceiver); subscriber.startAsync(); return subscriber; }
@Override @Deprecated public Subscriber subscribe(String subscription, MessageReceiver messageReceiver) { Assert.hasText(subscription, "The subscription can't be null or empty."); Assert.notNull(messageReceiver, "The messageReceiver can't be null."); Subscriber subscriber = this.subscriberFactory.createSubscriber(subscription, messageReceiver); subscriber.startAsync(); return subscriber; }
subscriber.startAsync();
subscriber.startAsync();
subscriber.startAsync();
subscriber.startAsync();
private void openConnection(PubsubSubscriber subscriber) { log.info("Opening async connection to {}", subscriber.subscriptionName()); lastPoll = System.currentTimeMillis(); GooglePubsubSubscriber googleSubscriber = (GooglePubsubSubscriber) subscriber; googleSubscriber.getSubscriber().startAsync(); }
@Override public Subscriber subscribe(String subscription, Consumer<BasicAcknowledgeablePubsubMessage> messageConsumer) { Assert.notNull(messageConsumer, "The messageConsumer can't be null."); Subscriber subscriber = this.subscriberFactory.createSubscriber(subscription, (message, ackReplyConsumer) -> messageConsumer.accept( new PushedAcknowledgeablePubsubMessage( ProjectSubscriptionName.of(this.subscriberFactory.getProjectId(), subscription), message, ackReplyConsumer))); subscriber.startAsync(); return subscriber; }
synchronized public void start() { this.subscriber = Subscriber .newBuilder(ProjectSubscriptionName.of(project, subscriptionName), messageReceiver) .setCredentialsProvider(FixedCredentialsProvider.create(credentials)) .build(); subscriber.addListener(new GooglePubsubFailureHandler(this, formatSubscriptionName(project, subscriptionName)), MoreExecutors.directExecutor()); subscriber.startAsync().awaitRunning(); log.info("Google Pubsub subscriber started for {}", formatSubscriptionName(project, subscriptionName)); }