Class KafkaConsumer<K,​V>

    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • pipe

        public Pipe<KafkaConsumerRecord<K,​V>> pipe()
        Pause this stream and return a to transfer the elements of this stream to a destination .

        The stream will be resumed when the pipe will be wired to a WriteStream.

        Specified by:
        pipe in interface ReadStream<K>
        Returns:
        a pipe
      • pipeTo

        public void pipeTo​(WriteStream<KafkaConsumerRecord<K,​V>> dst,
                           Handler<AsyncResult<Void>> handler)
        Pipe this ReadStream to the WriteStream.

        Elements emitted by this stream will be written to the write stream until this stream ends or fails.

        Once this stream has ended or failed, the write stream will be ended and the handler will be called with the result.

        Specified by:
        pipeTo in interface ReadStream<K>
        Parameters:
        dst - the destination write stream
        handler -
      • pipeTo

        public void pipeTo​(WriteStream<KafkaConsumerRecord<K,​V>> dst)
        Pipe this ReadStream to the WriteStream.

        Elements emitted by this stream will be written to the write stream until this stream ends or fails.

        Once this stream has ended or failed, the write stream will be ended and the handler will be called with the result.

        Specified by:
        pipeTo in interface ReadStream<K>
        Parameters:
        dst - the destination write stream
      • rxPipeTo

        public io.reactivex.Completable rxPipeTo​(WriteStream<KafkaConsumerRecord<K,​V>> dst)
        Pipe this ReadStream to the WriteStream.

        Elements emitted by this stream will be written to the write stream until this stream ends or fails.

        Once this stream has ended or failed, the write stream will be ended and the handler will be called with the result.

        Specified by:
        rxPipeTo in interface ReadStream<K>
        Parameters:
        dst - the destination write stream
        Returns:
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  Map<String,​String> config)
        Create a new KafkaConsumer instance
        Parameters:
        vertx - Vert.x instance to use
        config - Kafka consumer configuration
        Returns:
        an instance of the KafkaConsumer
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  Map<String,​String> config,
                                                                  Class<K> keyType,
                                                                  Class<V> valueType)
        Create a new KafkaConsumer instance
        Parameters:
        vertx - Vert.x instance to use
        config - Kafka consumer configuration
        keyType - class type for the key deserialization
        valueType - class type for the value deserialization
        Returns:
        an instance of the KafkaConsumer
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  KafkaClientOptions options)
        Create a new KafkaConsumer instance
        Parameters:
        vertx - Vert.x instance to use
        options - Kafka consumer options
        Returns:
        an instance of the KafkaConsumer
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  KafkaClientOptions options,
                                                                  Class<K> keyType,
                                                                  Class<V> valueType)
        Create a new KafkaConsumer instance
        Parameters:
        vertx - Vert.x instance to use
        options - Kafka consumer options
        keyType - class type for the key deserialization
        valueType - class type for the value deserialization
        Returns:
        an instance of the KafkaConsumer
      • pause

        public KafkaConsumer<K,​V> pause()
        Description copied from interface: ReadStream
        Pause the ReadStream, it sets the buffer in fetch mode and clears the actual demand.

        While it's paused, no data will be sent to the data handler.

        Specified by:
        pause in interface ReadStream<K>
        Returns:
        a reference to this, so the API can be used fluently
      • resume

        public KafkaConsumer<K,​V> resume()
        Description copied from interface: ReadStream
        Resume reading, and sets the buffer in flowing mode.

        If the ReadStream has been paused, reading will recommence on it.

        Specified by:
        resume in interface ReadStream<K>
        Returns:
        a reference to this, so the API can be used fluently
      • fetch

        public KafkaConsumer<K,​V> fetch​(long amount)
        Description copied from interface: ReadStream
        Fetch the specified amount of elements. If the ReadStream has been paused, reading will recommence with the specified amount of items, otherwise the specified amount will be added to the current stream demand.
        Specified by:
        fetch in interface ReadStream<K>
        Returns:
        a reference to this, so the API can be used fluently
      • endHandler

        public KafkaConsumer<K,​V> endHandler​(Handler<Void> endHandler)
        Description copied from interface: ReadStream
        Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
        Specified by:
        endHandler in interface ReadStream<K>
        Returns:
        a reference to this, so the API can be used fluently
      • demand

        public long demand()
        Returns the current demand.
          If the stream is in flowing mode will return Long.
        • If the stream is in fetch mode, will return the current number of elements still to be delivered or 0 if paused.
        Returns:
        current demand
      • subscribe

        public KafkaConsumer<K,​V> subscribe​(String topic,
                                                  Handler<AsyncResult<Void>> completionHandler)
        Subscribe to the given topic to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topic the old topic may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new topic.

        Parameters:
        topic - topic to subscribe to
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • subscribe

        public KafkaConsumer<K,​V> subscribe​(String topic)
        Subscribe to the given topic to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topic the old topic may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new topic.

        Parameters:
        topic - topic to subscribe to
        Returns:
        current KafkaConsumer instance
      • rxSubscribe

        public io.reactivex.Completable rxSubscribe​(String topic)
        Subscribe to the given topic to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topic the old topic may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new topic.

        Parameters:
        topic - topic to subscribe to
        Returns:
        current KafkaConsumer instance
      • subscribe

        public KafkaConsumer<K,​V> subscribe​(Set<String> topics,
                                                  Handler<AsyncResult<Void>> completionHandler)
        Subscribe to the given list of topics to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topics the old set of topics may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new set of topics.

        Parameters:
        topics - topics to subscribe to
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • subscribe

        public KafkaConsumer<K,​V> subscribe​(Set<String> topics)
        Subscribe to the given list of topics to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topics the old set of topics may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new set of topics.

        Parameters:
        topics - topics to subscribe to
        Returns:
        current KafkaConsumer instance
      • rxSubscribe

        public io.reactivex.Completable rxSubscribe​(Set<String> topics)
        Subscribe to the given list of topics to get dynamically assigned partitions.

        Due to internal buffering of messages, when changing the subscribed topics the old set of topics may remain in effect (as observed by the record handler}) until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new set of topics.

        Parameters:
        topics - topics to subscribe to
        Returns:
        current KafkaConsumer instance
      • rxAssign

        public io.reactivex.Completable rxAssign​(TopicPartition topicPartition)
        Manually assign a partition to this consumer.

        Due to internal buffering of messages, when reassigning the old partition may remain in effect (as observed by the record handler)} until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new partition.

        Parameters:
        topicPartition - partition which want assigned
        Returns:
        current KafkaConsumer instance
      • rxAssign

        public io.reactivex.Completable rxAssign​(Set<TopicPartition> topicPartitions)
        Manually assign a list of partition to this consumer.

        Due to internal buffering of messages, when reassigning the old set of partitions may remain in effect (as observed by the record handler)} until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new set of partitions.

        Parameters:
        topicPartitions - partitions which want assigned
        Returns:
        current KafkaConsumer instance
      • assignment

        public KafkaConsumer<K,​V> assignment​(Handler<AsyncResult<Set<TopicPartition>>> handler)
        Get the set of partitions currently assigned to this consumer.
        Parameters:
        handler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • assignment

        public KafkaConsumer<K,​V> assignment()
        Get the set of partitions currently assigned to this consumer.
        Returns:
        current KafkaConsumer instance
      • rxAssignment

        public io.reactivex.Single<Set<TopicPartition>> rxAssignment()
        Get the set of partitions currently assigned to this consumer.
        Returns:
        current KafkaConsumer instance
      • unsubscribe

        public KafkaConsumer<K,​V> unsubscribe​(Handler<AsyncResult<Void>> completionHandler)
        Unsubscribe from topics currently subscribed with subscribe.
        Parameters:
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • unsubscribe

        public KafkaConsumer<K,​V> unsubscribe()
        Unsubscribe from topics currently subscribed with subscribe.
        Returns:
        current KafkaConsumer instance
      • rxUnsubscribe

        public io.reactivex.Completable rxUnsubscribe()
        Unsubscribe from topics currently subscribed with subscribe.
        Returns:
        current KafkaConsumer instance
      • subscription

        public KafkaConsumer<K,​V> subscription​(Handler<AsyncResult<Set<String>>> handler)
        Get the current subscription.
        Parameters:
        handler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • subscription

        public KafkaConsumer<K,​V> subscription()
        Get the current subscription.
        Returns:
        current KafkaConsumer instance
      • rxSubscription

        public io.reactivex.Single<Set<String>> rxSubscription()
        Get the current subscription.
        Returns:
        current KafkaConsumer instance
      • rxPause

        public io.reactivex.Completable rxPause​(TopicPartition topicPartition)
        Suspend fetching from the requested partition.

        Due to internal buffering of messages, the will continue to observe messages from the given topicPartition until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will not see messages from the given topicPartition.

        Parameters:
        topicPartition - topic partition from which suspend fetching
        Returns:
        current KafkaConsumer instance
      • rxPause

        public io.reactivex.Completable rxPause​(Set<TopicPartition> topicPartitions)
        Suspend fetching from the requested partitions.

        Due to internal buffering of messages, the will continue to observe messages from the given topicPartitions until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will not see messages from the given topicPartitions.

        Parameters:
        topicPartitions - topic partition from which suspend fetching
        Returns:
        current KafkaConsumer instance
      • paused

        public void paused​(Handler<AsyncResult<Set<TopicPartition>>> handler)
        Get the set of partitions that were previously paused by a call to pause(Set).
        Parameters:
        handler - handler called on operation completed
      • paused

        public void paused()
        Get the set of partitions that were previously paused by a call to pause(Set).
      • rxPaused

        public io.reactivex.Single<Set<TopicPartition>> rxPaused()
        Get the set of partitions that were previously paused by a call to pause(Set).
        Returns:
      • resume

        public KafkaConsumer<K,​V> resume​(TopicPartition topicPartition,
                                               Handler<AsyncResult<Void>> completionHandler)
        Resume specified partition which have been paused with pause.
        Parameters:
        topicPartition - topic partition from which resume fetching
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • resume

        public KafkaConsumer<K,​V> resume​(TopicPartition topicPartition)
        Resume specified partition which have been paused with pause.
        Parameters:
        topicPartition - topic partition from which resume fetching
        Returns:
        current KafkaConsumer instance
      • rxResume

        public io.reactivex.Completable rxResume​(TopicPartition topicPartition)
        Resume specified partition which have been paused with pause.
        Parameters:
        topicPartition - topic partition from which resume fetching
        Returns:
        current KafkaConsumer instance
      • resume

        public KafkaConsumer<K,​V> resume​(Set<TopicPartition> topicPartitions,
                                               Handler<AsyncResult<Void>> completionHandler)
        Resume specified partitions which have been paused with pause.
        Parameters:
        topicPartitions - topic partition from which resume fetching
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • resume

        public KafkaConsumer<K,​V> resume​(Set<TopicPartition> topicPartitions)
        Resume specified partitions which have been paused with pause.
        Parameters:
        topicPartitions - topic partition from which resume fetching
        Returns:
        current KafkaConsumer instance
      • rxResume

        public io.reactivex.Completable rxResume​(Set<TopicPartition> topicPartitions)
        Resume specified partitions which have been paused with pause.
        Parameters:
        topicPartitions - topic partition from which resume fetching
        Returns:
        current KafkaConsumer instance
      • partitionsRevokedHandler

        public KafkaConsumer<K,​V> partitionsRevokedHandler​(Handler<Set<TopicPartition>> handler)
        Set the handler called when topic partitions are revoked to the consumer
        Parameters:
        handler - handler called on revoked topic partitions
        Returns:
        current KafkaConsumer instance
      • partitionsAssignedHandler

        public KafkaConsumer<K,​V> partitionsAssignedHandler​(Handler<Set<TopicPartition>> handler)
        Set the handler called when topic partitions are assigned to the consumer
        Parameters:
        handler - handler called on assigned topic partitions
        Returns:
        current KafkaConsumer instance
      • seek

        public KafkaConsumer<K,​V> seek​(TopicPartition topicPartition,
                                             long offset,
                                             Handler<AsyncResult<Void>> completionHandler)
        Overrides the fetch offsets that the consumer will use on the next poll.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartition - topic partition for which seek
        offset - offset to seek inside the topic partition
        completionHandler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • seek

        public KafkaConsumer<K,​V> seek​(TopicPartition topicPartition,
                                             long offset)
        Overrides the fetch offsets that the consumer will use on the next poll.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartition - topic partition for which seek
        offset - offset to seek inside the topic partition
        Returns:
        current KafkaConsumer instance
      • rxSeek

        public io.reactivex.Completable rxSeek​(TopicPartition topicPartition,
                                               long offset)
        Overrides the fetch offsets that the consumer will use on the next poll.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartition - topic partition for which seek
        offset - offset to seek inside the topic partition
        Returns:
        current KafkaConsumer instance
      • rxSeekToBeginning

        public io.reactivex.Completable rxSeekToBeginning​(TopicPartition topicPartition)
        Seek to the first offset for each of the given partition.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartition - topic partition for which seek
        Returns:
        current KafkaConsumer instance
      • rxSeekToBeginning

        public io.reactivex.Completable rxSeekToBeginning​(Set<TopicPartition> topicPartitions)
        Seek to the first offset for each of the given partitions.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartitions - topic partition for which seek
        Returns:
        current KafkaConsumer instance
      • rxSeekToEnd

        public io.reactivex.Completable rxSeekToEnd​(TopicPartition topicPartition)
        Seek to the last offset for each of the given partition.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartition - topic partition for which seek
        Returns:
        current KafkaConsumer instance
      • rxSeekToEnd

        public io.reactivex.Completable rxSeekToEnd​(Set<TopicPartition> topicPartitions)
        Seek to the last offset for each of the given partitions.

        Due to internal buffering of messages, the will continue to observe messages fetched with respect to the old offset until some time after the given completionHandler is called. In contrast, the once the given completionHandler is called the batchHandler(io.vertx.core.Handler<io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecords<K, V>>) will only see messages consistent with the new offset.

        Parameters:
        topicPartitions - topic partition for which seek
        Returns:
        current KafkaConsumer instance
      • commit

        public void commit​(Handler<AsyncResult<Void>> completionHandler)
        Commit current offsets for all the subscribed list of topics and partition.
        Parameters:
        completionHandler - handler called on operation completed
      • commit

        public void commit()
        Commit current offsets for all the subscribed list of topics and partition.
      • rxCommit

        public io.reactivex.Completable rxCommit()
        Commit current offsets for all the subscribed list of topics and partition.
        Returns:
      • committed

        public void committed​(TopicPartition topicPartition,
                              Handler<AsyncResult<OffsetAndMetadata>> handler)
        Get the last committed offset for the given partition (whether the commit happened by this process or another).
        Parameters:
        topicPartition - topic partition for getting last committed offset
        handler - handler called on operation completed
      • committed

        public void committed​(TopicPartition topicPartition)
        Get the last committed offset for the given partition (whether the commit happened by this process or another).
        Parameters:
        topicPartition - topic partition for getting last committed offset
      • rxCommitted

        public io.reactivex.Single<OffsetAndMetadata> rxCommitted​(TopicPartition topicPartition)
        Get the last committed offset for the given partition (whether the commit happened by this process or another).
        Parameters:
        topicPartition - topic partition for getting last committed offset
        Returns:
      • partitionsFor

        public KafkaConsumer<K,​V> partitionsFor​(String topic,
                                                      Handler<AsyncResult<List<PartitionInfo>>> handler)
        Get metadata about the partitions for a given topic.
        Parameters:
        topic - topic partition for which getting partitions info
        handler - handler called on operation completed
        Returns:
        current KafkaConsumer instance
      • partitionsFor

        public KafkaConsumer<K,​V> partitionsFor​(String topic)
        Get metadata about the partitions for a given topic.
        Parameters:
        topic - topic partition for which getting partitions info
        Returns:
        current KafkaConsumer instance
      • rxPartitionsFor

        public io.reactivex.Single<List<PartitionInfo>> rxPartitionsFor​(String topic)
        Get metadata about the partitions for a given topic.
        Parameters:
        topic - topic partition for which getting partitions info
        Returns:
        current KafkaConsumer instance
      • batchHandler

        public KafkaConsumer<K,​V> batchHandler​(Handler<KafkaConsumerRecords<K,​V>> handler)
        Set the handler to be used when batches of messages are fetched from the Kafka server. Batch handlers need to take care not to block the event loop when dealing with large batches. It is better to process records individually using the #handler(Handler) record handler.
        Parameters:
        handler - handler called when batches of messages are fetched
        Returns:
        current KafkaConsumer instance
      • close

        public void close​(Handler<AsyncResult<Void>> completionHandler)
        Close the consumer
        Parameters:
        completionHandler - handler called on operation completed
      • close

        public void close()
        Close the consumer
      • rxClose

        public io.reactivex.Completable rxClose()
        Close the consumer
        Returns:
      • position

        public void position​(TopicPartition partition,
                             Handler<AsyncResult<Long>> handler)
        Get the offset of the next record that will be fetched (if a record with that offset exists).
        Parameters:
        partition - The partition to get the position for
        handler - handler called on operation completed
      • position

        public void position​(TopicPartition partition)
        Get the offset of the next record that will be fetched (if a record with that offset exists).
        Parameters:
        partition - The partition to get the position for
      • rxPosition

        public io.reactivex.Single<Long> rxPosition​(TopicPartition partition)
        Get the offset of the next record that will be fetched (if a record with that offset exists).
        Parameters:
        partition - The partition to get the position for
        Returns:
      • offsetsForTimes

        public void offsetsForTimes​(TopicPartition topicPartition,
                                    Long timestamp,
                                    Handler<AsyncResult<OffsetAndTimestamp>> handler)
        Look up the offset for the given partition by timestamp. Note: the result might be null in case for the given timestamp no offset can be found -- e.g., when the timestamp refers to the future
        Parameters:
        topicPartition - TopicPartition to query.
        timestamp - Timestamp to be used in the query.
        handler - handler called on operation completed
      • offsetsForTimes

        public void offsetsForTimes​(TopicPartition topicPartition,
                                    Long timestamp)
        Look up the offset for the given partition by timestamp. Note: the result might be null in case for the given timestamp no offset can be found -- e.g., when the timestamp refers to the future
        Parameters:
        topicPartition - TopicPartition to query.
        timestamp - Timestamp to be used in the query.
      • rxOffsetsForTimes

        public io.reactivex.Single<OffsetAndTimestamp> rxOffsetsForTimes​(TopicPartition topicPartition,
                                                                         Long timestamp)
        Look up the offset for the given partition by timestamp. Note: the result might be null in case for the given timestamp no offset can be found -- e.g., when the timestamp refers to the future
        Parameters:
        topicPartition - TopicPartition to query.
        timestamp - Timestamp to be used in the query.
        Returns:
      • beginningOffsets

        public void beginningOffsets​(TopicPartition topicPartition,
                                     Handler<AsyncResult<Long>> handler)
        Get the first offset for the given partitions.
        Parameters:
        topicPartition - the partition to get the earliest offset.
        handler - handler called on operation completed. Returns the earliest available offset for the given partition
      • beginningOffsets

        public void beginningOffsets​(TopicPartition topicPartition)
        Get the first offset for the given partitions.
        Parameters:
        topicPartition - the partition to get the earliest offset.
      • rxBeginningOffsets

        public io.reactivex.Single<Long> rxBeginningOffsets​(TopicPartition topicPartition)
        Get the first offset for the given partitions.
        Parameters:
        topicPartition - the partition to get the earliest offset.
        Returns:
      • endOffsets

        public void endOffsets​(TopicPartition topicPartition,
                               Handler<AsyncResult<Long>> handler)
        Get the last offset for the given partition. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.
        Parameters:
        topicPartition - the partition to get the end offset.
        handler - handler called on operation completed. The end offset for the given partition.
      • endOffsets

        public void endOffsets​(TopicPartition topicPartition)
        Get the last offset for the given partition. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.
        Parameters:
        topicPartition - the partition to get the end offset.
      • rxEndOffsets

        public io.reactivex.Single<Long> rxEndOffsets​(TopicPartition topicPartition)
        Get the last offset for the given partition. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.
        Parameters:
        topicPartition - the partition to get the end offset.
        Returns:
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  org.apache.kafka.clients.consumer.Consumer<K,​V> consumer)
        Create a new KafkaConsumer instance from a native .
        Parameters:
        vertx - Vert.x instance to use
        consumer - the Kafka consumer to wrap
        Returns:
        an instance of the KafkaConsumer
      • create

        public static <K,​V> KafkaConsumer<K,​V> create​(Vertx vertx,
                                                                  org.apache.kafka.clients.consumer.Consumer<K,​V> consumer,
                                                                  KafkaClientOptions options)
        Create a new KafkaConsumer instance from a native .
        Parameters:
        vertx - Vert.x instance to use
        consumer - the Kafka consumer to wrap
        options - options used only for tracing settings
        Returns:
        an instance of the KafkaConsumer
      • pollTimeout

        public KafkaConsumer<K,​V> pollTimeout​(Duration timeout)
        Sets the poll timeout for the underlying native Kafka Consumer. Defaults to 1000ms. Setting timeout to a lower value results in a more 'responsive' client, because it will block for a shorter period if no data is available in the assigned partition and therefore allows subsequent actions to be executed with a shorter delay. At the same time, the client will poll more frequently and thus will potentially create a higher load on the Kafka Broker.
        Parameters:
        timeout - The time, spent waiting in poll if data is not available in the buffer. If 0, returns immediately with any records that are available currently in the native Kafka consumer's buffer, else returns empty. Must not be negative.
        Returns:
      • poll

        public void poll​(Duration timeout,
                         Handler<AsyncResult<KafkaConsumerRecords<K,​V>>> handler)
        Executes a poll for getting messages from Kafka.
        Parameters:
        timeout - The maximum time to block (must not be greater than Long milliseconds)
        handler - handler called after the poll with batch of records (can be empty).
      • poll

        public void poll​(Duration timeout)
        Executes a poll for getting messages from Kafka.
        Parameters:
        timeout - The maximum time to block (must not be greater than Long milliseconds)
      • rxPoll

        public io.reactivex.Single<KafkaConsumerRecords<K,​V>> rxPoll​(Duration timeout)
        Executes a poll for getting messages from Kafka.
        Parameters:
        timeout - The maximum time to block (must not be greater than Long milliseconds)
        Returns: