Search in sources :

Example 21 with Topic

use of com.google.pubsub.v1.Topic in project google-cloud-java by GoogleCloudPlatform.

the class TopicAdminClientSnippets method createTopic.

/** Example of creating a topic. */
public Topic createTopic(String topicId) throws Exception {
    // [START pubsub_create_topic]
    try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
        // projectId <=  unique project identifier, eg. "my-project-id"
        // topicId <= "my-topic-id"
        TopicName topicName = TopicName.create(projectId, topicId);
        Topic topic = topicAdminClient.createTopic(topicName);
        return topic;
    }
// [END pubsub_create_topic]
}
Also used : TopicAdminClient(com.google.cloud.pubsub.spi.v1.TopicAdminClient) Topic(com.google.pubsub.v1.Topic) TopicName(com.google.pubsub.v1.TopicName)

Example 22 with Topic

use of com.google.pubsub.v1.Topic in project google-cloud-java by GoogleCloudPlatform.

the class SubscriptionAdminClientSnippets method createSubscription.

/** Example of creating a pull subscription for a topic. */
public Subscription createSubscription(String topicId, String subscriptionId) throws Exception {
    // [START pubsub_create_pull_subscription]
    try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
        // eg. projectId = "my-test-project", topicId = "my-test-topic"
        TopicName topicName = TopicName.create(projectId, topicId);
        // eg. subscriptionId = "my-test-subscription"
        SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId);
        // create a pull subscription with default acknowledgement deadline
        Subscription subscription = subscriptionAdminClient.createSubscription(subscriptionName, topicName, PushConfig.getDefaultInstance(), 0);
        return subscription;
    }
// [END pubsub_create_pull_subscription]
}
Also used : SubscriptionAdminClient(com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient) SubscriptionName(com.google.pubsub.v1.SubscriptionName) Subscription(com.google.pubsub.v1.Subscription) TopicName(com.google.pubsub.v1.TopicName)

Example 23 with Topic

use of com.google.pubsub.v1.Topic in project google-cloud-java by GoogleCloudPlatform.

the class PublisherSnippets method newBuilder.

/** Example of creating a {@code Publisher}. */
// [TARGET newBuilder(TopicName)]
// [VARIABLE "my_project"]
// [VARIABLE "my_topic"]
public static void newBuilder(String projectId, String topicId) throws Exception {
    TopicName topic = TopicName.create(projectId, topicId);
    Publisher publisher = Publisher.defaultBuilder(topic).build();
    try {
    // ...
    } finally {
        // When finished with the publisher, make sure to shutdown to free up resources.
        publisher.shutdown();
    }
}
Also used : Publisher(com.google.cloud.pubsub.spi.v1.Publisher) TopicName(com.google.pubsub.v1.TopicName)

Example 24 with Topic

use of com.google.pubsub.v1.Topic in project google-cloud-java by GoogleCloudPlatform.

the class ITTopicAdminClientSnippets method listTopicsRetreivesAddedTopics.

@Test
public void listTopicsRetreivesAddedTopics() throws Exception {
    List<Topic> addedTopics = new ArrayList<>();
    String topicName1 = topics[0];
    addedTopics.add(topicAdminClientSnippets.createTopic(topicName1));
    String topicName2 = topics[1];
    addedTopics.add(topicAdminClientSnippets.createTopic(topicName2));
    boolean[] topicFound = { false, false };
    ListTopicsPagedResponse response = topicAdminClientSnippets.listTopics();
    assertNotNull(response);
    Iterable<Topic> topics = response.iterateAll();
    for (int i = 0; i < 2; i++) {
        if (!topicFound[i]) {
            topicFound[i] = Iterables.contains(topics, addedTopics.get(i));
        }
    }
    assertTrue(topicFound[0] && topicFound[1]);
}
Also used : ListTopicsPagedResponse(com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicsPagedResponse) ArrayList(java.util.ArrayList) Topic(com.google.pubsub.v1.Topic) Test(org.junit.Test)

Example 25 with Topic

use of com.google.pubsub.v1.Topic in project google-cloud-java by GoogleCloudPlatform.

the class ITPubSubSnippets method testPublisherSubscriber.

@Test
public void testPublisherSubscriber() throws Exception {
    TopicName topicName = TopicName.create(ServiceOptions.getDefaultProjectId(), formatForTest("test-topic"));
    SubscriptionName subscriptionName = SubscriptionName.create(ServiceOptions.getDefaultProjectId(), formatForTest("test-subscription"));
    try (TopicAdminClient publisherClient = TopicAdminClient.create();
        SubscriptionAdminClient subscriberClient = SubscriptionAdminClient.create()) {
        publisherClient.createTopic(topicName);
        subscriberClient.createSubscription(subscriptionName, topicName, PushConfig.getDefaultInstance(), 0);
        testPublisherSubscriberHelper(topicName, subscriptionName);
        subscriberClient.deleteSubscription(subscriptionName);
        publisherClient.deleteTopic(topicName);
    }
}
Also used : TopicAdminClient(com.google.cloud.pubsub.spi.v1.TopicAdminClient) SubscriptionAdminClient(com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient) SubscriptionName(com.google.pubsub.v1.SubscriptionName) TopicName(com.google.pubsub.v1.TopicName) Test(org.junit.Test)

Aggregations

TopicName (com.google.pubsub.v1.TopicName)26 Test (org.junit.Test)22 Topic (com.google.pubsub.v1.Topic)13 GeneratedMessageV3 (com.google.protobuf.GeneratedMessageV3)9 SubscriptionName (com.google.pubsub.v1.SubscriptionName)9 TopicAdminClient (com.google.cloud.pubsub.spi.v1.TopicAdminClient)8 ByteString (com.google.protobuf.ByteString)7 PubsubMessage (com.google.pubsub.v1.PubsubMessage)7 ApiException (com.google.api.gax.grpc.ApiException)6 StatusRuntimeException (io.grpc.StatusRuntimeException)6 Subscription (com.google.pubsub.v1.Subscription)5 ArrayList (java.util.ArrayList)5 ListTopicsPagedResponse (com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicsPagedResponse)3 Publisher (com.google.cloud.pubsub.spi.v1.Publisher)3 SubscriptionAdminClient (com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient)3 DeleteTopicRequest (com.google.pubsub.v1.DeleteTopicRequest)3 ListTopicsRequest (com.google.pubsub.v1.ListTopicsRequest)3 PublishRequest (com.google.pubsub.v1.PublishRequest)3 PublishResponse (com.google.pubsub.v1.PublishResponse)3 AckReplyConsumer (com.google.cloud.pubsub.spi.v1.AckReplyConsumer)2