io.vertx.kafka.client.consumer

## Interface KafkaConsumer<K,V>

- All Superinterfaces:
    ReadStream<KafkaConsumerRecord<K,V>>, StreamBase

      public interface KafkaConsumer<K,V>
      extends ReadStream<KafkaConsumerRecord<K,V>>

  Vert.x Kafka consumer.

  You receive Kafka records by providing a `handler(Handler)`. As messages arrive the handler will be called with the records.

  The `pause()` and `resume()` provides global control over reading the records from the consumer.

  The `pause(Set)` and `resume(Set)` provides finer grained control over reading records for specific Topic/Partition, these are Kafka's specific operations.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `KafkaConsumer<K,V>` | `assign(Set<TopicPartition> topicPartitions)` Manually assign a list of partition to this consumer.
    `KafkaConsumer<K,V>` | `assign(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler)` Manually assign a list of partition to this consumer.
    `KafkaConsumer<K,V>` | `assign(TopicPartition topicPartition)` Manually assign a partition to this consumer.
    `KafkaConsumer<K,V>` | `assign(TopicPartition topicPartition, Handler<AsyncResult<Void>> completionHandler)` Manually assign a partition to this consumer.
    `KafkaConsumer<K,V>` | `assignment(Handler<AsyncResult<Set<TopicPartition>>> handler)` Get the set of partitions currently assigned to this consumer.
    `KafkaReadStream<K,V>` | `asStream()`
    `void` | `beginningOffsets(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Map<TopicPartition,Long>>> handler)` Get the first offset for the given partitions.
    `void` | `beginningOffsets(TopicPartition topicPartition, Handler<AsyncResult<Long>> handler)` Get the first offset for the given partitions.
    `default void` | `close()` Close the consumer
    `void` | `close(Handler<AsyncResult<Void>> completionHandler)` Close the consumer
    `void` | `commit()` Commit current offsets for all the subscribed list of topics and partition.
    `void` | `commit(Handler<AsyncResult<Void>> completionHandler)` Commit current offsets for all the subscribed list of topics and partition.
    `void` | `commit(Map<TopicPartition,OffsetAndMetadata> offsets)` Commit the specified offsets for the specified list of topics and partitions to Kafka.
    `void` | `commit(Map<TopicPartition,OffsetAndMetadata> offsets, Handler<AsyncResult<Map<TopicPartition,OffsetAndMetadata>>> completionHandler)` Commit the specified offsets for the specified list of topics and partitions to Kafka.
    `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).
    `org.apache.kafka.clients.consumer.Consumer<K,V>` | `consumer()`
    `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 `Consumer`.
    `static <K,V> KafkaConsumer<K,V>` | `create(Vertx vertx, Map<String,String> config)` Create a new KafkaConsumer instance
    `static <K,V> KafkaConsumer<K,V>` | `create(Vertx vertx, Map<String,String> config, Class<K> keyType, Class<V> valueType)` Create a new KafkaConsumer instance
    `static <K,V> KafkaConsumer<K,V>` | `create(Vertx vertx, Properties config)` Create a new KafkaConsumer instance
    `static <K,V> KafkaConsumer<K,V>` | `create(Vertx vertx, Properties config, Class<K> keyType, Class<V> valueType)` Create a new KafkaConsumer instance
    `KafkaConsumer<K,V>` | `endHandler(Handler<Void> endHandler)` Set an end handler.
    `void` | `endOffsets(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Map<TopicPartition,Long>>> handler)` Get the last offset for the given partitions.
    `void` | `endOffsets(TopicPartition topicPartition, Handler<AsyncResult<Long>> handler)` Get the last offset for the given partition.
    `KafkaConsumer<K,V>` | `exceptionHandler(Handler<Throwable> handler)` Set an exception handler on the read stream.
    `KafkaConsumer<K,V>` | `handler(Handler<KafkaConsumerRecord<K,V>> handler)` Set a data handler.
    `KafkaConsumer<K,V>` | `listTopics(Handler<AsyncResult<Map<String,List<PartitionInfo>>>> handler)` Get metadata about partitions for all topics that the user is authorized to view.
    `void` | `offsetsForTimes(Map<TopicPartition,Long> topicPartitionTimestamps, Handler<AsyncResult<Map<TopicPartition,OffsetAndTimestamp>>> handler)` Look up the offsets for the given partitions by timestamp.
    `void` | `offsetsForTimes(TopicPartition topicPartition, Long timestamp, Handler<AsyncResult<OffsetAndTimestamp>> handler)` Look up the offset for the given partition by timestamp.
    `KafkaConsumer<K,V>` | `partitionsAssignedHandler(Handler<Set<TopicPartition>> handler)` Set the handler called when topic partitions are assigned to the consumer
    `KafkaConsumer<K,V>` | `partitionsFor(String topic, Handler<AsyncResult<List<PartitionInfo>>> handler)` Get metadata about the partitions for a given topic.
    `KafkaConsumer<K,V>` | `partitionsRevokedHandler(Handler<Set<TopicPartition>> handler)` Set the handler called when topic partitions are revoked to the consumer
    `KafkaConsumer<K,V>` | `pause()` Pause the `ReadSupport`.
    `KafkaConsumer<K,V>` | `pause(Set<TopicPartition> topicPartitions)` Suspend fetching from the requested partitions.
    `KafkaConsumer<K,V>` | `pause(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler)` Suspend fetching from the requested partitions.
    `KafkaConsumer<K,V>` | `pause(TopicPartition topicPartition)` Suspend fetching from the requested partition.
    `KafkaConsumer<K,V>` | `pause(TopicPartition topicPartition, Handler<AsyncResult<Void>> completionHandler)` Suspend fetching from the requested partition.
    `void` | `paused(Handler<AsyncResult<Set<TopicPartition>>> handler)` Get the set of partitions that were previously paused by a call to pause(Set).
    `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).
    `KafkaConsumer<K,V>` | `resume()` Resume reading.
    `KafkaConsumer<K,V>` | `resume(Set<TopicPartition> topicPartitions)` Resume specified partitions which have been paused with pause.
    `KafkaConsumer<K,V>` | `resume(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler)` Resume specified partitions which have been paused with pause.
    `KafkaConsumer<K,V>` | `resume(TopicPartition topicPartition)` Resume specified partition which have been paused with pause.
    `KafkaConsumer<K,V>` | `resume(TopicPartition topicPartition, Handler<AsyncResult<Void>> completionHandler)` Resume specified partition which have been paused with pause.
    `KafkaConsumer<K,V>` | `seek(TopicPartition topicPartition, long offset)` Overrides the fetch offsets that the consumer will use on the next poll.
    `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.
    `KafkaConsumer<K,V>` | `seekToBeginning(Set<TopicPartition> topicPartitions)` Seek to the first offset for each of the given partitions.
    `KafkaConsumer<K,V>` | `seekToBeginning(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler)` Seek to the first offset for each of the given partitions.
    `KafkaConsumer<K,V>` | `seekToBeginning(TopicPartition topicPartition)` Seek to the first offset for each of the given partition.
    `KafkaConsumer<K,V>` | `seekToBeginning(TopicPartition topicPartition, Handler<AsyncResult<Void>> completionHandler)` Seek to the first offset for each of the given partition.
    `KafkaConsumer<K,V>` | `seekToEnd(Set<TopicPartition> topicPartitions)` Seek to the last offset for each of the given partitions.
    `KafkaConsumer<K,V>` | `seekToEnd(Set<TopicPartition> topicPartitions, Handler<AsyncResult<Void>> completionHandler)` Seek to the last offset for each of the given partitions.
    `KafkaConsumer<K,V>` | `seekToEnd(TopicPartition topicPartition)` Seek to the last offset for each of the given partition.
    `KafkaConsumer<K,V>` | `seekToEnd(TopicPartition topicPartition, Handler<AsyncResult<Void>> completionHandler)` Seek to the last offset for each of the given partition.
    `KafkaConsumer<K,V>` | `subscribe(Set<String> topics)` Subscribe to the given list of topics to get dynamically assigned partitions.
    `KafkaConsumer<K,V>` | `subscribe(Set<String> topics, Handler<AsyncResult<Void>> completionHandler)` Subscribe to the given list of topics to get dynamically assigned partitions.
    `KafkaConsumer<K,V>` | `subscribe(String topic)` Subscribe to the given topic to get dynamically assigned partitions.
    `KafkaConsumer<K,V>` | `subscribe(String topic, Handler<AsyncResult<Void>> completionHandler)` Subscribe to the given topic to get dynamically assigned partitions.
    `KafkaConsumer<K,V>` | `subscription(Handler<AsyncResult<Set<String>>> handler)` Get the current subscription.
    `KafkaConsumer<K,V>` | `unsubscribe()` Unsubscribe from topics currently subscribed with subscribe.
    `KafkaConsumer<K,V>` | `unsubscribe(Handler<AsyncResult<Void>> completionHandler)` Unsubscribe from topics currently subscribed with subscribe.

- - ### Method Detail

    - #### create

          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 `Consumer`.
      Parameters:
        `vertx` - Vert.x instance to use
        `consumer` - the Kafka consumer to wrap
      Returns:
        an instance of the KafkaConsumer

    - #### create

          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 producer configuration
      Returns:
        an instance of the KafkaConsumer

    - #### create

          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

          static <K,V> KafkaConsumer<K,V> create(Vertx vertx,
                                                 Properties config)

      Create a new KafkaConsumer instance
      Parameters:
        `vertx` - Vert.x instance to use
        `config` - Kafka producer configuration
      Returns:
        an instance of the KafkaConsumer

    - #### create

          static <K,V> KafkaConsumer<K,V> create(Vertx vertx,
                                                 Properties 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

    - #### exceptionHandler

          KafkaConsumer<K,V> exceptionHandler(Handler<Throwable> handler)

      Description copied from interface: `ReadStream`
      Set an exception handler on the read stream.
      Specified by:
        `exceptionHandler` in interface `ReadStream<KafkaConsumerRecord<K,V>>`
      Specified by:
        `exceptionHandler` in interface `StreamBase`
      Parameters:
        `handler` - the exception handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### handler

          KafkaConsumer<K,V> handler(Handler<KafkaConsumerRecord<K,V>> handler)

      Description copied from interface: `ReadStream`
      Set a data handler. As data is read, the handler will be called with the data.
      Specified by:
        `handler` in interface `ReadStream<KafkaConsumerRecord<K,V>>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### pause

          KafkaConsumer<K,V> pause()

      Description copied from interface: `ReadStream`
      Pause the `ReadSupport`. While it's paused, no data will be sent to the `dataHandler`
      Specified by:
        `pause` in interface `ReadStream<KafkaConsumerRecord<K,V>>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### resume

          KafkaConsumer<K,V> resume()

      Description copied from interface: `ReadStream`
      Resume reading. If the `ReadSupport` has been paused, reading will recommence on it.
      Specified by:
        `resume` in interface `ReadStream<KafkaConsumerRecord<K,V>>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### endHandler

          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<KafkaConsumerRecord<K,V>>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### subscribe

          KafkaConsumer<K,V> subscribe(String topic)

      Subscribe to the given topic to get dynamically assigned partitions.
      Parameters:
        `topic` - topic to subscribe to
      Returns:
        current KafkaConsumer instance

    - #### subscribe

          KafkaConsumer<K,V> subscribe(Set<String> topics)

      Subscribe to the given list of topics to get dynamically assigned partitions.
      Parameters:
        `topics` - topics to subscribe to
      Returns:
        current KafkaConsumer instance

    - #### subscribe

          KafkaConsumer<K,V> subscribe(String topic,
                                       Handler<AsyncResult<Void>> completionHandler)

      Subscribe to the given topic to get dynamically assigned partitions.
      Parameters:
        `topic` - topic to subscribe to
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### subscribe

          KafkaConsumer<K,V> subscribe(Set<String> topics,
                                       Handler<AsyncResult<Void>> completionHandler)

      Subscribe to the given list of topics to get dynamically assigned partitions.
      Parameters:
        `topics` - topics to subscribe to
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### assign

          KafkaConsumer<K,V> assign(TopicPartition topicPartition)

      Manually assign a partition to this consumer.
      Parameters:
        `topicPartition` - partition which want assigned
      Returns:
        current KafkaConsumer instance

    - #### assign

          KafkaConsumer<K,V> assign(Set<TopicPartition> topicPartitions)

      Manually assign a list of partition to this consumer.
      Parameters:
        `topicPartitions` - partitions which want assigned
      Returns:
        current KafkaConsumer instance

    - #### assign

          KafkaConsumer<K,V> assign(TopicPartition topicPartition,
                                    Handler<AsyncResult<Void>> completionHandler)

      Manually assign a partition to this consumer.
      Parameters:
        `topicPartition` - partition which want assigned
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### assign

          KafkaConsumer<K,V> assign(Set<TopicPartition> topicPartitions,
                                    Handler<AsyncResult<Void>> completionHandler)

      Manually assign a list of partition to this consumer.
      Parameters:
        `topicPartitions` - partitions which want assigned
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### assignment

          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

    - #### listTopics

          KafkaConsumer<K,V> listTopics(Handler<AsyncResult<Map<String,List<PartitionInfo>>>> handler)

      Get metadata about partitions for all topics that the user is authorized to view.
      Parameters:
        `handler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### unsubscribe

          KafkaConsumer<K,V> unsubscribe()

      Unsubscribe from topics currently subscribed with subscribe.
      Returns:
        current KafkaConsumer instance

    - #### unsubscribe

          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

    - #### subscription

          KafkaConsumer<K,V> subscription(Handler<AsyncResult<Set<String>>> handler)

      Get the current subscription.
      Parameters:
        `handler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### pause

          KafkaConsumer<K,V> pause(TopicPartition topicPartition)

      Suspend fetching from the requested partition.
      Parameters:
        `topicPartition` - topic partition from which suspend fetching
      Returns:
        current KafkaConsumer instance

    - #### pause

          KafkaConsumer<K,V> pause(Set<TopicPartition> topicPartitions)

      Suspend fetching from the requested partitions.
      Parameters:
        `topicPartitions` - topic partition from which suspend fetching
      Returns:
        current KafkaConsumer instance

    - #### pause

          KafkaConsumer<K,V> pause(TopicPartition topicPartition,
                                   Handler<AsyncResult<Void>> completionHandler)

      Suspend fetching from the requested partition.
      Parameters:
        `topicPartition` - topic partition from which suspend fetching
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### pause

          KafkaConsumer<K,V> pause(Set<TopicPartition> topicPartitions,
                                   Handler<AsyncResult<Void>> completionHandler)

      Suspend fetching from the requested partitions.
      Parameters:
        `topicPartitions` - topic partition from which suspend fetching
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### paused

          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

    - #### resume

          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

    - #### resume

          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

    - #### resume

          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

          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

    - #### partitionsRevokedHandler

          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

          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

          KafkaConsumer<K,V> seek(TopicPartition topicPartition,
                                  long offset)

      Overrides the fetch offsets that the consumer will use on the next poll.
      Parameters:
        `topicPartition` - topic partition for which seek
        `offset` - offset to seek inside the topic partition
      Returns:
        current KafkaConsumer instance

    - #### seek

          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.
      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

    - #### seekToBeginning

          KafkaConsumer<K,V> seekToBeginning(TopicPartition topicPartition)

      Seek to the first offset for each of the given partition.
      Parameters:
        `topicPartition` - topic partition for which seek
      Returns:
        current KafkaConsumer instance

    - #### seekToBeginning

          KafkaConsumer<K,V> seekToBeginning(Set<TopicPartition> topicPartitions)

      Seek to the first offset for each of the given partitions.
      Parameters:
        `topicPartitions` - topic partition for which seek
      Returns:
        current KafkaConsumer instance

    - #### seekToBeginning

          KafkaConsumer<K,V> seekToBeginning(TopicPartition topicPartition,
                                             Handler<AsyncResult<Void>> completionHandler)

      Seek to the first offset for each of the given partition.
      Parameters:
        `topicPartition` - topic partition for which seek
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### seekToBeginning

          KafkaConsumer<K,V> seekToBeginning(Set<TopicPartition> topicPartitions,
                                             Handler<AsyncResult<Void>> completionHandler)

      Seek to the first offset for each of the given partitions.
      Parameters:
        `topicPartitions` - topic partition for which seek
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### seekToEnd

          KafkaConsumer<K,V> seekToEnd(TopicPartition topicPartition)

      Seek to the last offset for each of the given partition.
      Parameters:
        `topicPartition` - topic partition for which seek
      Returns:
        current KafkaConsumer instance

    - #### seekToEnd

          KafkaConsumer<K,V> seekToEnd(Set<TopicPartition> topicPartitions)

      Seek to the last offset for each of the given partitions.
      Parameters:
        `topicPartitions` - topic partition for which seek
      Returns:
        current KafkaConsumer instance

    - #### seekToEnd

          KafkaConsumer<K,V> seekToEnd(TopicPartition topicPartition,
                                       Handler<AsyncResult<Void>> completionHandler)

      Seek to the last offset for each of the given partition.
      Parameters:
        `topicPartition` - topic partition for which seek
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### seekToEnd

          KafkaConsumer<K,V> seekToEnd(Set<TopicPartition> topicPartitions,
                                       Handler<AsyncResult<Void>> completionHandler)

      Seek to the last offset for each of the given partitions.
      Parameters:
        `topicPartitions` - topic partition for which seek
        `completionHandler` - handler called on operation completed
      Returns:
        current KafkaConsumer instance

    - #### commit

          void commit()

      Commit current offsets for all the subscribed list of topics and partition.

    - #### commit

          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

          void commit(Map<TopicPartition,OffsetAndMetadata> offsets)

      Commit the specified offsets for the specified list of topics and partitions to Kafka.
      Parameters:
        `offsets` - offsets list to commit

    - #### commit

          void commit(Map<TopicPartition,OffsetAndMetadata> offsets,
                      Handler<AsyncResult<Map<TopicPartition,OffsetAndMetadata>>> completionHandler)

      Commit the specified offsets for the specified list of topics and partitions to Kafka.
      Parameters:
        `offsets` - offsets list to commit
        `completionHandler` - handler called on operation completed

    - #### committed

          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

    - #### partitionsFor

          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

    - #### close

          default void close()

      Close the consumer

    - #### close

          void close(Handler<AsyncResult<Void>> completionHandler)

      Close the consumer
      Parameters:
        `completionHandler` - handler called on operation completed

    - #### position

          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

    - #### offsetsForTimes

          void offsetsForTimes(Map<TopicPartition,Long> topicPartitionTimestamps,
                               Handler<AsyncResult<Map<TopicPartition,OffsetAndTimestamp>>> handler)

      Look up the offsets for the given partitions by timestamp.
      Parameters:
        `topicPartitionTimestamps` - A map with pairs of (TopicPartition, Timestamp).
        `handler` - handler called on operation completed

    - #### offsetsForTimes

          void offsetsForTimes(TopicPartition topicPartition,
                               Long timestamp,
                               Handler<AsyncResult<OffsetAndTimestamp>> handler)

      Look up the offset for the given partition by timestamp.
      Parameters:
        `topicPartition` - TopicPartition to query.
        `timestamp` - Timestamp to be used in the query.
        `handler` - handler called on operation completed

    - #### beginningOffsets

          void beginningOffsets(Set<TopicPartition> topicPartitions,
                                Handler<AsyncResult<Map<TopicPartition,Long>>> handler)

      Get the first offset for the given partitions.
      Parameters:
        `topicPartitions` - the partitions to get the earliest offsets.
        `handler` - handler called on operation completed. Returns the earliest available offsets for the given partitions

    - #### beginningOffsets

          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

    - #### endOffsets

          void endOffsets(Set<TopicPartition> topicPartitions,
                          Handler<AsyncResult<Map<TopicPartition,Long>>> handler)

      Get the last offset for the given partitions. The last offset of a partition is the offset of the upcoming message, i.e. the offset of the last available message + 1.
      Parameters:
        `topicPartitions` - the partitions to get the end offsets.
        `handler` - handler called on operation completed. The end offsets for the given partitions.

    - #### endOffsets

          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.

    - #### asStream

          KafkaReadStream<K,V> asStream()

      Returns:
        underlying the `KafkaReadStream` instance

    - #### consumer

          org.apache.kafka.clients.consumer.Consumer<K,V> consumer()

      Returns:
        the native consumer

Copyright © 2017. All rights reserved.