@@ -585,29 +585,31 @@ Google Cloud Pub/Sub (Alpha)
585585Here is a code snippet showing a simple usage example from within Compute Engine/App Engine
586586Flexible. Note that you must [supply credentials](# authentication) and a project ID if running this
587587snippet elsewhere. Complete source code can be found at
588- [CreateSubscriptionAndPullMessages .java](./google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateSubscriptionAndPullMessages .java).
588+ [CreateTopicAndPublishMessages .java](./google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateTopicAndPublishMessages .java).
589589
590590` ` ` java
591- import com.google.cloud.pubsub.Message;
592- import com.google.cloud.pubsub.PubSub;
593- import com.google.cloud.pubsub.PubSub.MessageConsumer;
594- import com.google.cloud.pubsub.PubSub.MessageProcessor;
595- import com.google.cloud.pubsub.PubSubOptions;
596- import com.google.cloud.pubsub.Subscription;
597- import com.google.cloud.pubsub.SubscriptionInfo;
598-
599- try (PubSub pubsub = PubSubOptions.getDefaultInstance().getService ()) {
600- Subscription subscription =
601- pubsub.create(SubscriptionInfo.of(" test-topic" , " test-subscription" ));
602- MessageProcessor callback = new MessageProcessor () {
603- @Override
604- public void process(Message message) throws Exception {
605- System.out.printf(" Received message \" %s\" %n" , message.getPayloadAsString ());
606- }
607- };
608- // Create a message consumer and pull messages (for 60 seconds)
609- try (MessageConsumer consumer = subscription.pullAsync(callback)) {
610- Thread.sleep(60_000);
591+ import com.google.api.gax.core.ApiFuture;
592+ import com.google.cloud.pubsub.spi.v1.Publisher;
593+ import com.google.cloud.pubsub.spi.v1.TopicAdminClient;
594+ import com.google.protobuf.ByteString;
595+ import com.google.pubsub.v1.PubsubMessage;
596+ import com.google.pubsub.v1.TopicName;
597+
598+ TopicName topic = TopicName.create(" test-project" , " test-topic" );
599+ try (TopicAdminClient topicAdminClient = TopicAdminClient.create ()) {
600+ topicAdminClient.createTopic(topic);
601+ }
602+
603+ Publisher publisher = null;
604+ try {
605+ publisher = Publisher.newBuilder(topic).build ();
606+ ByteString data = ByteString.copyFromUtf8(" my message" );
607+ PubsubMessage pubsubMessage = PubsubMessage.newBuilder().setData(data).build ();
608+ ApiFuture< String> messageId = publisher.publish(pubsubMessage);
609+ System.out.println(" published with message ID: " + messageId.get ());
610+ } finally {
611+ if (publisher ! = null) {
612+ publisher.shutdown ();
611613 }
612614}
613615` ` `
0 commit comments