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 Summary
Modifier and TypeMethodDescriptionack
(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages) Acknowledge a batch of messages.modifyAckDeadline
(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages, int ackDeadlineSeconds) Modify the ack deadline of a batch of messages.nack
(Collection<? extends AcknowledgeablePubsubMessage> acknowledgeablePubsubMessages) Negatively acknowledge a batch of messages.Pull a number of messages from a Google Cloud Pub/Sub subscription.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.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.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.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.Asynchronously pull a number of messages from a Google Cloud Pub/Sub subscription.com.google.pubsub.v1.PubsubMessage
Pull and auto-acknowledge a message from a Google Cloud Pub/Sub subscription.CompletableFuture<com.google.pubsub.v1.PubsubMessage>
pullNextAsync
(String subscription) Asynchronously pull and auto-acknowledge a message from a Google Cloud Pub/Sub subscription.com.google.cloud.pubsub.v1.Subscriber
subscribe
(String subscription, Consumer<BasicAcknowledgeablePubsubMessage> messageConsumer) Add a callback method to an existing subscription.<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.
-
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmessageConsumer
- 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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmessageConsumer
- the callback method triggered when new messages arrivepayloadType
- 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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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 theprojects/[project_name]/subscriptions/[subscription_name]
formatmaxMessages
- 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 satisfymaxMessages
. Setting this parameter totrue
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
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 theprojects/[project_name]/subscriptions/[subscription_name]
format- Returns:
- a received message, or
null
if none exists in the subscription
-
pullNextAsync
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 theprojects/[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 modifiedackDeadlineSeconds
- 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
-