Interface PubSubSubscriberOperations

All Known Subinterfaces:
PubSubOperations
All Known Implementing Classes:
PubSubSubscriberTemplate, PubSubTemplate

public interface PubSubSubscriberOperations
An abstraction for Google Cloud Pub/Sub subscription / pulling operations.
Since:
1.1
  • Method Details

    • subscribe

      com.google.cloud.pubsub.v1.Subscriber subscribe(String subscription, Consumer<BasicAcknowledgeablePubsubMessage> messageConsumer)
      Add a callback method to an existing subscription.

      The created Subscriber is returned so it can be stopped.

      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      messageConsumer - the callback method triggered when new messages arrive
      Returns:
      subscriber listening to new messages
      Since:
      1.1
    • subscribeAndConvert

      <T> com.google.cloud.pubsub.v1.Subscriber subscribeAndConvert(String subscription, Consumer<ConvertedBasicAcknowledgeablePubsubMessage<T>> messageConsumer, Class<T> payloadType)
      Add a callback method to an existing subscription that receives Pub/Sub messages converted to the requested payload type.

      The created Subscriber is returned so it can be stopped.

      Type Parameters:
      T - the type of the payload
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      messageConsumer - the callback method triggered when new messages arrive
      payloadType - the type to which the payload of the Pub/Sub message should be converted
      Returns:
      subscriber listening to new messages
      Since:
      1.1
    • pullAndAck

      List<com.google.pubsub.v1.PubsubMessage> pullAndAck(String subscription, Integer maxMessages, Boolean returnImmediately)
      Pull and auto-acknowledge a number of messages from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      Returns:
      the list of received messages
    • pullAndAckAsync

      CompletableFuture<List<com.google.pubsub.v1.PubsubMessage>> pullAndAckAsync(String subscription, Integer maxMessages, Boolean returnImmediately)
      Asynchronously pull and auto-acknowledge a number of messages from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      Returns:
      the CompletableFuture for the asynchronous execution, returning the list of received acknowledgeable messages
      Since:
      1.2.3
    • pull

      List<AcknowledgeablePubsubMessage> pull(String subscription, Integer maxMessages, Boolean returnImmediately)
      Pull a number of messages from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      Returns:
      the list of received acknowledgeable messages
    • pullAsync

      CompletableFuture<List<AcknowledgeablePubsubMessage>> pullAsync(String subscription, Integer maxMessages, Boolean returnImmediately)
      Asynchronously pull a number of messages from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      Returns:
      the CompletableFuture for the asynchronous execution, returning the list of received acknowledgeable messages
      Since:
      1.2.3
    • pullAndConvert

      <T> List<ConvertedAcknowledgeablePubsubMessage<T>> pullAndConvert(String subscription, Integer maxMessages, Boolean returnImmediately, Class<T> payloadType)
      Pull a number of messages from a Google Cloud Pub/Sub subscription and convert them to Spring messages with the desired payload type.
      Type Parameters:
      T - the type of the payload
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      payloadType - the type to which the payload of the Pub/Sub messages should be converted
      Returns:
      the list of received acknowledgeable messages
      Since:
      1.1
    • pullAndConvertAsync

      <T> CompletableFuture<List<ConvertedAcknowledgeablePubsubMessage<T>>> pullAndConvertAsync(String subscription, Integer maxMessages, Boolean returnImmediately, Class<T> payloadType)
      Asynchronously pull a number of messages from a Google Cloud Pub/Sub subscription and convert them to Spring messages with the desired payload type.
      Type Parameters:
      T - the type of the payload
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      maxMessages - the maximum number of pulled messages. If this value is null then up to Integer.MAX_VALUE messages will be requested.
      returnImmediately - returns immediately even if subscription doesn't contain enough messages to satisfy maxMessages. Setting this parameter to true is not recommended as it may result in long delays in message delivery.
      payloadType - the type to which the payload of the Pub/Sub messages should be converted
      Returns:
      the CompletableFuture for the asynchronous execution, returning the list of received acknowledgeable messages
      Since:
      1.2.3
    • pullNext

      com.google.pubsub.v1.PubsubMessage pullNext(String subscription)
      Pull and auto-acknowledge a message from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      Returns:
      a received message, or null if none exists in the subscription
    • pullNextAsync

      CompletableFuture<com.google.pubsub.v1.PubsubMessage> pullNextAsync(String subscription)
      Asynchronously pull and auto-acknowledge a message from a Google Cloud Pub/Sub subscription.
      Parameters:
      subscription - short subscription name, e.g., "subscriptionName", or the fully-qualified subscription name in the projects/[project_name]/subscriptions/[subscription_name] format
      Returns:
      the CompletableFuture for the asynchronous execution, returning a received message, or null if none exists in the subscription
      Since:
      1.2.3
    • ack

      CompletableFuture<Void> ack(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages)
      Acknowledge a batch of messages. The messages must have the same project id.
      Parameters:
      acknowledgeablePubsubMessages - messages to be acknowledged
      Returns:
      CompletableFuture<Void> the CompletableFuture for the asynchronous execution
    • nack

      CompletableFuture<Void> nack(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages)
      Negatively acknowledge a batch of messages. The messages must have the same project id.
      Parameters:
      acknowledgeablePubsubMessages - messages to be negatively acknowledged
      Returns:
      CompletableFuture<Void> the CompletableFuture for the asynchronous execution
    • modifyAckDeadline

      CompletableFuture<Void> modifyAckDeadline(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages, int ackDeadlineSeconds)
      Modify the ack deadline of a batch of messages. The messages must have the same project id.
      Parameters:
      acknowledgeablePubsubMessages - messages to be modified
      ackDeadlineSeconds - the new ack deadline in seconds. A deadline of 0 effectively nacks the messages.
      Returns:
      CompletableFuture<Void> the CompletableFuture for the asynchronous execution
      Since:
      1.1