A consumer is a process that attaches to a topic via a subscription and then receives messages. The reader interface for Pulsar enables applications to manually manage cursors. More knowledge of the Reader and Consumer interface can be found in the Pulsar Client doc.
Add the getLastMessageIds
API for Reader. This will help to increase the flexibility of reader usage.
Add the getLastMessageIds
API for Reader.
None.
Implement the getLastMessageIds
method for Reader by internally invoking the Consumer interface.
@Override
public List<TopicMessageId> getLastMessageIds() throws PulsarClientException {
return consumer.getLastMessageIds();
}
@Override
public CompletableFuture<List<TopicMessageId>> getLastMessageIdsAsync() {
return consumer.getLastMessageIdsAsync();
}
/**
* Get all the last message id of the topics the reader subscribed.
*
* @return the list of TopicMessageId instances of all the topics that the reader subscribed
* @throws PulsarClientException if failed to get last message id.
* @apiNote It's guaranteed that the owner topic of each TopicMessageId in the returned list is different from owner
* topics of other TopicMessageId instances
*/
List<TopicMessageId> getLastMessageIds() throws PulsarClientException;
/**
* The asynchronous version of {@link Reader#getLastMessageIds()}.
*/
CompletableFuture<List<TopicMessageId>> getLastMessageIdsAsync();
- Mailing List discussion thread:
- Mailing List voting thread: