Package org.apache.pulsar.client.impl
Class CompactionReaderImpl<T>
java.lang.Object
org.apache.pulsar.client.impl.ReaderImpl<T>
org.apache.pulsar.client.impl.CompactionReaderImpl<T>
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.pulsar.client.api.Reader<T>
An extended ReaderImpl used for StrategicTwoPhaseCompactor.
The compaction consumer subscription is durable and consumes compacted messages from the earliest position.
It does not acknowledge the message after each read. (needs to call acknowledgeCumulativeAsync to ack messages.)
-
Method Summary
Modifier and TypeMethodDescriptionacknowledgeCumulativeAsync(org.apache.pulsar.client.api.MessageId messageId, Map<String, Long> properties) static <T> CompactionReaderImpl<T>create(PulsarClientImpl client, org.apache.pulsar.client.api.Schema<T> schema, String topic, CompletableFuture<org.apache.pulsar.client.api.Consumer<T>> consumerFuture, org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader) CompletableFuture<org.apache.pulsar.client.api.MessageId>org.apache.pulsar.client.api.Message<T>readNext()org.apache.pulsar.client.api.Message<T>CompletableFuture<org.apache.pulsar.client.api.Message<T>>Methods inherited from class org.apache.pulsar.client.impl.ReaderImpl
close, closeAsync, getConsumer, getLastMessageIds, getLastMessageIdsAsync, getTopic, hasMessageAvailable, hasMessageAvailableAsync, hasReachedEndOfTopic, isConnected, seek, seek, seek, seekAsync, seekAsync, seekAsync
-
Method Details
-
create
public static <T> CompactionReaderImpl<T> create(PulsarClientImpl client, org.apache.pulsar.client.api.Schema<T> schema, String topic, CompletableFuture<org.apache.pulsar.client.api.Consumer<T>> consumerFuture, org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader) -
readNext
public org.apache.pulsar.client.api.Message<T> readNext() throws org.apache.pulsar.client.api.PulsarClientException- Specified by:
readNextin interfaceorg.apache.pulsar.client.api.Reader<T>- Overrides:
readNextin classReaderImpl<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
readNext
public org.apache.pulsar.client.api.Message<T> readNext(int timeout, TimeUnit unit) throws org.apache.pulsar.client.api.PulsarClientException - Specified by:
readNextin interfaceorg.apache.pulsar.client.api.Reader<T>- Overrides:
readNextin classReaderImpl<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
readNextAsync
- Specified by:
readNextAsyncin interfaceorg.apache.pulsar.client.api.Reader<T>- Overrides:
readNextAsyncin classReaderImpl<T>
-
getLastMessageIdAsync
-
acknowledgeCumulativeAsync
public CompletableFuture<Void> acknowledgeCumulativeAsync(org.apache.pulsar.client.api.MessageId messageId, Map<String, Long> properties)
-