Here are the examples of the java api class com.google.api.services.pubsub.model.Subscription taken from open source projects.
1. PubsubJsonClient#listSubscriptions()
Project: incubator-beam
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public List<SubscriptionPath> listSubscriptions(ProjectPath project, TopicPath topic) throws IOException { ListSubscriptionsResponse response = pubsub.projects().subscriptions().list(project.getPath()).execute(); if (response.getSubscriptions() == null || response.getSubscriptions().isEmpty()) { return ImmutableList.of(); } List<SubscriptionPath> subscriptions = new ArrayList<>(response.getSubscriptions().size()); for (Subscription subscription : response.getSubscriptions()) { if (subscription.getTopic().equals(topic.getPath())) { subscriptions.add(subscriptionPathFromPath(subscription.getName())); } } return subscriptions; }
2. PubsubJsonClient#createSubscription()
Project: incubator-beam
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public void createSubscription(TopicPath topic, SubscriptionPath subscription, int ackDeadlineSeconds) throws IOException { Subscription request = new Subscription().setTopic(topic.getPath()).setAckDeadlineSeconds(ackDeadlineSeconds); pubsub.projects().subscriptions().create(subscription.getPath(), request).execute(); // ignore Subscription result. }
3. PubsubJsonClient#listSubscriptions()
Project: DataflowJavaSDK
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public List<SubscriptionPath> listSubscriptions(ProjectPath project, TopicPath topic) throws IOException { ListSubscriptionsResponse response = pubsub.projects().subscriptions().list(project.getPath()).execute(); if (response.getSubscriptions() == null || response.getSubscriptions().isEmpty()) { return ImmutableList.of(); } List<SubscriptionPath> subscriptions = new ArrayList<>(response.getSubscriptions().size()); for (Subscription subscription : response.getSubscriptions()) { if (subscription.getTopic().equals(topic.getPath())) { subscriptions.add(subscriptionPathFromPath(subscription.getName())); } } return subscriptions; }
4. PubsubJsonClient#createSubscription()
Project: DataflowJavaSDK
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public void createSubscription(TopicPath topic, SubscriptionPath subscription, int ackDeadlineSeconds) throws IOException { Subscription request = new Subscription().setTopic(topic.getPath()).setAckDeadlineSeconds(ackDeadlineSeconds); pubsub.projects().subscriptions().create(subscription.getPath(), request).execute(); // ignore Subscription result. }
5. PubsubJsonClient#ackDeadlineSeconds()
Project: incubator-beam
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public int ackDeadlineSeconds(SubscriptionPath subscription) throws IOException { Subscription response = pubsub.projects().subscriptions().get(subscription.getPath()).execute(); return response.getAckDeadlineSeconds(); }
6. PubsubJsonClient#ackDeadlineSeconds()
Project: DataflowJavaSDK
File: PubsubJsonClient.java
File: PubsubJsonClient.java
@Override public int ackDeadlineSeconds(SubscriptionPath subscription) throws IOException { Subscription response = pubsub.projects().subscriptions().get(subscription.getPath()).execute(); return response.getAckDeadlineSeconds(); }
7. PushSubscriber#ensureSubscriptionExists()
Project: play-work
File: PushSubscriber.java
File: PushSubscriber.java
/** * Verifies that the subscription with the name defined in settings file actually exists and * points to a correct topic defined in the same settings file. If the subscription doesn't * exist, it will be created. */ private static void ensureSubscriptionExists(Pubsub client) throws IOException { // First we check if the subscription with this name actually exists. Subscription subscription = null; String topicName = Settings.getSettings().getTopicName(); String subName = Settings.getSettings().getSubscriptionName(); LOG.info("Will be using topic name: " + topicName + ", subscription name: " + subName); try { LOG.info("Trying to get subscription named " + subName); subscription = client.projects().subscriptions().get(subName).execute(); Preconditions.checkArgument(subscription.getTopic().equals(topicName), "Subscription %s already exists but points to a topic %s and not %s." + "Please specify a different subscription name or delete this subscription", subscription.getName(), subscription.getTopic(), topicName); LOG.info("Will be re-using existing subscription: " + subscription.toPrettyString()); } catch (HttpResponseException e) { if (e.getStatusCode() == HttpStatusCodes.STATUS_CODE_NOT_FOUND) { LOG.info("Subscription doesn't exist, will try to create " + subName); subscription = client.projects().subscriptions().create(subName, new Subscription().setTopic(topicName).setAckDeadlineSeconds(600).setPushConfig(new PushConfig().setPushEndpoint(Settings.getSettings().getPushEndpoint()))).execute(); LOG.info("Created: " + subscription.toPrettyString()); } } }